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

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen.
info

Mit dem Modul apigee-access können Sie Edge-Daten aus Schlüssel/Wert-Paaren (Key Value Map, KVM) aus einer Node.js-Anwendung abrufen. Diese Methode zum Abrufen von KVMs ist eine Alternative zur Verwendung der KeyValueMapOperations-Richtlinie 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 in einer KVM für jede Bereitstellungsumgebung speichern und die Werte dann 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 API-Proxy-Bereich für den Proxy „foo“ erstellen, kann nur der Proxy „foo“ auf die KVM zugreifen. Wenn Sie eine KVM im Bereich 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 Proxys, die in der „Prod“-Umgebung bereitgestellt werden.

Nachdem Sie eine KVM mit der Management API, der Management-UI oder der Richtlinie für Schlüssel/Wert-Paarzuordnungsvorgänge erstellt haben (siehe Langfristiges Caching), verwenden Sie die Funktionen hier, um die Daten abzurufen.

Ein gutes KVM-Muster finden Sie unter Muster zum Speichern von KVM-Werten im Cache.

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 eine KVM in einem bestimmten Bereich (Organisation, Umgebung, API oder Revision) ab. Nachdem das KVM-Objekt zurückgegeben wurde, verwenden Sie die Funktionen getKeys und get, um die Schlüsselnamen oder einen bestimmten Schlüsselwert zurückzugeben.

Parameter:

  • kvm_name: Der Name der KVM, auf die zugegriffen werden soll.
  • scope: Der Bereich der KVM. Entweder organization, environment, api, oder revision.
  • proxy_name: Bei einem scope von 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 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 mit den Namen aller Schlüssel in der KVM zurück.

Parameter:

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

Gibt zurück:

Ein Array mit 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üsselwert 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);
});