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,
oderrevision
. - 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); });