Accéder aux mappages clé-valeur dans Node.js

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Vous pouvez utiliser le module apigee-access pour obtenir des données de mappage clé-valeur (KVM) Edge à partir d'une application Node.js. Cette méthode de récupération de KVM est une alternative à l'utilisation de la règle d'opérations sur les mappages clé-valeur pour récupérer des données KVM dans un flux de proxy d'API.

Les KVM permettent une persistance à long terme de paires clé/valeur arbitraires que vous pouvez récupérer au moment de l'exécution. Par exemple, vous pouvez stocker des valeurs de quota, des valeurs d'expiration du jeton d'accès OAuth et des valeurs d'expiration du jeton d'actualisation OAuth dans un KVM pour chaque environnement de déploiement, puis récupérer les valeurs dans votre code.

Vous pouvez créer une KVM avec l'un des trois champs d'application suivants: organization, environment et apiproxy. Par exemple, si vous créez un KVM au niveau du champ d'application du proxy d'API pour le proxy "foo", seul le proxy "foo" peut y accéder. Si vous créez un KVM au niveau du champ d'application de l'environnement de test, tous les proxys d'API déployés dans l'environnement de test d'une organisation peuvent y accéder, mais aucun des proxys déployés dans l'environnement de production ne peut y accéder.

Après avoir créé une KVM avec l'API de gestion, l'UI de gestion ou la règle Opérations de mappage de valeurs-clés (voir Mise en cache de la persistance à long terme), utilisez ces fonctions pour récupérer les données.

Pour un modèle KVM de qualité, consultez https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Pour obtenir une présentation du module apigee-access et de ses autres fonctionnalités, consultez Utiliser le module apigee-access.

Méthodes

Les méthodes suivantes fonctionnent à la fois sur les KVM chiffrés et non chiffrés.


getKeyValueMap

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

Récupère un KVM au niveau d'un champ d'application particulier (organisation, environnement, API ou révision). Une fois l'objet KVM renvoyé, utilisez les fonctions getKeys et get pour renvoyer les noms de clé ou une valeur de clé spécifique.

Paramètres :

  • kvm_name : nom de la KVM à laquelle vous souhaitez accéder.
  • scope : champ d'application de la KVM. Spécifiez l'une des valeurs suivantes : organization, environment, api, ou revision.
  • proxy_name : pour une portée de api uniquement, nom du proxy d'API.

Renvoie :

Objet KVM.

Exemple :

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

Si vous définissez scope sur api, un troisième paramètre est requis : le nom du proxy d'API. Exemple :

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

getKeys

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

Renvoie un tableau contenant les noms de toutes les clés du KVM.

Paramètres :

  • callback: (obligatoire) La fonction de rappel utilise deux paramètres :
    • Objet "Error" si l'opération échoue.
    • Objet (keys_array dans l'exemple ci-dessus) représentant le tableau des noms de clés KVM.

Renvoie :

Tableau de noms de clés KVM.

Exemple :

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

obtenir

kvm.get('key', function(err, key_value));

Récupère la valeur d'une clé KVM.

Paramètres :

  • key: (obligatoire) chaîne qui identifie de manière unique l'élément dans le cache.

  • callback: (obligatoire) la fonction de rappel utilise deux paramètres:

    • Un objet Error si l'opération échoue.
    • Objet contenant la valeur de clé KVM sous forme de chaîne.

Exemple :

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