Auf Schlüssel/Wert-Zuordnungen in Node.js zugreifen

Sie sehen sich die Dokumentation zu Apigee Edge an.
Rufen Sie die Dokumentation zu Apigee X auf.
Weitere Informationen

Mit dem apigee-access-Modul können Sie Edge-Daten aus Schlüssel/Wert-Paaren (Key Value Map, KVM) innerhalb einer Node.js-Anwendung abrufen. Diese Methode zum Abrufen von KVMs ist eine Alternative zur Verwendung der Richtlinie „Key Value Map Operations“ zum Abrufen von KVM-Daten in einem API-Proxy-Ablauf.

KVMs bieten eine langfristige Persistenz beliebiger Schlüssel/Wert-Paare, die Sie zur Laufzeit abrufen können. Sie können beispielsweise Kontingentwerte, Ablaufwerte für OAuth-Zugriffstokens und Ablaufwerte für OAuth-Aktualisierungstokens für jede Bereitstellungsumgebung in einer KVM speichern und die Werte dann in Ihrem Code abrufen.

Sie können eine KVM in einem der drei Bereiche erstellen: organization, environment und apiproxy. Wenn Sie beispielsweise eine KVM auf API-Proxy-Ebene für den Proxy „foo“ erstellen, kann nur der Proxy „foo“ auf die KVM zugreifen. Wenn Sie eine KVM auf Umgebungsebene „test“ erstellen, können alle API-Proxys, die in der „test“-Umgebung einer Organisation bereitgestellt werden, auf die KVM zugreifen, aber keiner der Proxys, die in der „prod“-Umgebung bereitgestellt werden.

Nachdem Sie eine KVM mit der Verwaltungs-API, der Verwaltungs-UI oder der Richtlinie für Schlüssel/Wert-Zuordnungsvorgänge erstellt haben (siehe Langfristiges Persistenz-Caching), können Sie die hier aufgeführten Funktionen zum Abrufen der Daten verwenden.

Ein gutes KVM-Muster finden Sie unter https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Eine Einführung in das apigee-access-Modul und seine anderen Funktionen finden Sie unter Das Modul „apigee-access“ verwenden.

Methoden

Die folgenden Methoden funktionieren sowohl für verschlüsselte als auch für unverschlüsselte KVMs.


getKeyValueMap

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

Ruft ein KVM in einem bestimmten Bereich ab (Organisation, Umgebung, API oder Revision). Nachdem das KVM-Objekt zurückgegeben wurde, können Sie mit den Funktionen getKeys und get die Schlüsselnamen oder einen bestimmten Schlüsselwert zurückgeben.

Parameter:

  • kvm_name: Der Name der KVM, auf die zugegriffen werden soll.
  • scope – Bereich der KVM. Entweder organization, environment, api, oder revision.
  • proxy_name: Bei einem scope von nur api ist dies der Name des API-Proxys.

Gibt zurück:

Ein KVM-Objekt.

Beispiel:

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

Wenn Sie scope auf api festlegen, ist ein dritter Parameter erforderlich: der Name des API-Proxys. Beispiel:

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

getKeys

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

Gibt ein Array zurück, das die Namen aller Schlüssel in der KVM enthält.

Parameter:

  • callback: (Erforderlich) Die Callback-Funktion verwendet zwei Parameter:
    • Ein „Error“-Objekt, wenn der Vorgang fehlschlägt.
    • Ein Objekt (keys_array im Beispiel oben), das das Array der KVM-Schlüsselnamen darstellt.

Gibt zurück:

Ein Array von KVM-Schlüsselnamen.

Beispiel:

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));

Ruft den Wert eines KVM-Schlüssels ab.

Parameter:

  • key: (Erforderlich) Ein String, der das Element im Cache eindeutig identifiziert.

  • callback: (Erforderlich) Die Callback-Funktion verwendet zwei Parameter:

    • Ein „Error“-Objekt, wenn der Vorgang fehlschlägt.
    • Das Objekt, das den KVM-Schlüssel/Wert als String enthält.

Beispiel:

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);
});