Node.js'de anahtar değeri eşlemelerine erişme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bir Node.js uygulamasından Edge anahtar/değer eşlemesi (KVM) verilerini almak için apigee-access modülünü kullanabilirsiniz. Bu KVM alma yöntemi, bir API proxy akışında KVM verilerini almak için Anahtar/Değer Haritası İşlemleri politikasını kullanmaya alternatif bir yöntemdir.

KVM'ler, çalışma zamanında alabileceğiniz rastgele anahtar/değer çiftlerinin uzun süreli olarak kalıcı olmasını sağlar. Örneğin, her dağıtım ortamı için bir KVM'de kota değerlerini, OAuth erişim jetonu geçerlilik bitiş değerlerini ve OAuth yenileme jetonu geçerlilik bitiş değerlerini saklayabilir, ardından kodunuzda bu değerleri alabilirsiniz.

Üç kapsamdan birinde KVM oluşturabilirsiniz: organization, environment ve apiproxy. Örneğin, "foo" proxy'si için apiproxy kapsamında bir KVM oluşturursanız yalnızca "foo" proxy'si KVM'ye erişebilir. "test" ortamı kapsamında bir KVM oluşturursanız kuruluşun "test" ortamına dağıtılan tüm API proxy'leri KVM'ye erişebilir ancak "prod" ortamına dağıtılan proxy'lerin hiçbiri KVM'ye erişemez.

Yönetim API'si, yönetim kullanıcı arayüzü veya Anahtar Değer Haritası İşlemleri politikasıyla bir KVM oluşturduktan sonra (bkz. Uzun süreli kalıcılık önbelleğe alma) verileri almak için buradaki işlevleri kullanın.

İyi bir KVM kalıbı için KVM değerlerini önbelleğe alma kalıbı başlıklı makaleye bakın.

apigee-access modülü ve diğer özellikleri hakkında bilgi edinmek için apigee-access modülünü kullanma başlıklı makaleyi inceleyin.

Yöntemler

Aşağıdaki yöntemler hem şifrelenmiş hem de şifrelenmemiş KVM'lerde çalışır.


getKeyValueMap

var kvm = apigee.getKeyValueMap('kvm_name', 'scope');
var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');

Belirli bir kapsamdaki (kuruluş, ortam, API veya düzeltme) bir KVM'yi alır. KVM nesnesi döndürüldükten sonra, anahtar adlarını veya belirli bir anahtar değerini döndürmek için getKeys ve get işlevlerini kullanın.

Parametreler:

  • kvm_name: Erişilecek Kernel Tabanlı Sanal Makine'nin adı.
  • scope: KVM'nin kapsamı. organization, environment, api, veya revision seçeneklerinden biri.
  • proxy_name: Yalnızca scope için API proxy'sinin adı.

İadeler:

Bir KVM nesnesi.

Örnek:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');

Kapsamı api olarak ayarlarsanız üçüncü bir parametre gerekir: API proxy'sinin adı. Örneğin:

var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');

getKeys

var kvmKeys = apigee.getKeys(function(err, keys_array);

KVM'deki tüm anahtarların adlarını içeren bir dizi döndürür.

Parametreler:

  • callback: (Gerekli) Geri çağırma işlevi iki parametre kullanır:
    • İşlem başarısız olursa bir hata nesnesi.
    • KVM anahtar adları dizisini temsil eden bir nesne (yukarıdaki örnekte keys_array).

İadeler:

KVM anahtar adlarının dizisi.

Örnek:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.getKeys(function(err, keys_array) {
    // use the array of key names here
});

get

kvm.get('key', function(err, key_value));

Bir KVM anahtarının değerini alır.

Parametreler:

  • key: (Zorunlu) Önbellekteki öğeyi benzersiz şekilde tanımlayan bir dize.

  • callback: (Gerekli) Geri çağırma işlevi iki parametre kullanır:

    • İşlem başarısız olursa bir hata nesnesi.
    • KVM anahtar değerini dize olarak içeren nesne.

Örnek:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.get('foo_key', function(err, key_value) {
    // Use the key value here. For example the following assigns the value
    // to a 'kvmvalue' variable in the response, which can be used by policies:
      apigee.setVariable(response, 'kvmvalue', key_value);
});