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

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Mit dem Modul apigee-access können Sie KVM-Daten (Edge Key Value Map) aus einer Node.js-Anwendung abrufen. Diese Methode des KVM-Abrufs ist eine Alternative zur Verwendung der Richtlinie für Schlüssel/Wert-Zuordnungsvorgänge, um KVM-Daten in einem API-Proxy-Ablauf abzurufen.

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

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

Nachdem Sie eine KVM mit der Verwaltungs-API, der Verwaltungs-UI oder der Richtlinie für Schlüssel/Wert-Zuordnungen (siehe Caching von Langzeitpersistenz) erstellt haben, 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 Modul apigee-access und seine anderen Features finden Sie unter Apigee-Zugriffsmodul verwenden.

Methoden

Die folgenden Methoden funktionieren sowohl auf verschlüsselten als auch auf unverschlüsselten KVMs.


getKeyValueMap

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

Ruft eine KVM in einem bestimmten Bereich ab (Organisation, Umgebung, API oder Überarbeitung). 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 des KVM. Entweder organization, environment, api, oder revision.
  • proxy_name: Name des API-Proxys, nur für den Bereich api

Gibt zurück:

Ein KVM-Objekt.

Example:

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

Wenn Sie scope auf api setzen, 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 Fehlerobjekt, wenn der Vorgang fehlschlägt.
    • Ein Objekt (im obigen Beispiel keys_array), das das Array der KVM-Schlüsselnamen darstellt.

Gibt zurück:

Ein Array von KVM-Schlüsselnamen.

Example:

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

abrufen

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 Fehlerobjekt, wenn der Vorgang fehlschlägt.
    • Das Objekt, das den KVM-Schlüsselwert als String enthält.

Example:

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