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

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

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

KVM'ler, çalışma zamanında alabileceğiniz rastgele anahtar/değer çiftlerinin uzun süreli kalıcılığını sağlar. Örneğin, kota değerlerini, OAuth erişim jetonu geçerlilik bitiş değerlerini ve OAuth yenileme jetonu geçerlilik bitiş değerlerini her dağıtım ortamı için bir KVM'de saklayabilir, ardından değerleri kodunuzda 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ında dağıtılan tüm API proxy'leri KVM'ye erişebilir ancak "prod" ortamında 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 (Uzun süreli kalıcı önbelleğe alma bölümüne bakın) verileri almak için buradaki işlevleri kullanın.

Mükemmel bir KVM kalıbı için https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html adresine bakabilirsiniz.

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 kapsamda (kuruluş, ortam, API veya düzeltme) bir KVM alır. KVM nesnesi döndürüldükten sonra getKeys ve get işlevlerini kullanarak anahtar adlarını veya belirli bir anahtar değerini döndürün.

Parametreler:

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

İadeler:

KVM nesnesi.

Örnek:

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

scope'u api olarak ayarlarsanız API proxy'sinin adı olan üçüncü bir parametre gerekir. Ö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: (Zorunlu) Geri çağırma işlevi iki parametre kullanır:
    • İşlem başarısız olursa bir Error nesnesi.
    • KVM anahtar adları dizisini temsil eden bir nesne (yukarıdaki örnekte keys_array).

İadeler:

KVM anahtar adlarından oluşan bir dizi.

Ö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) Önbelleğe alınan öğeyi benzersiz şekilde tanımlayan bir dize.

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

    • İşlem başarısız olursa bir Error 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);
});