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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation 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 Key Value Map Operations pour récupérer des données KVM dans un flux de proxy d'API.

Les KVM offrent une persistance à long terme des 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 de jeton d'accès OAuth et des valeurs d'expiration de 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 un KVM dans 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 accéder au KVM. Si vous créez un KVM au niveau du champ d'application de l'environnement "test", tous les proxys d'API déployés dans l'environnement "test" d'une organisation peuvent accéder au KVM, mais aucun des proxys déployés dans l'environnement "prod" ne peut y accéder.

Après avoir créé un KVM avec l'API de gestion, l'interface utilisateur de gestion ou la règle Key Value Map Operations (voir Mise en cache de la persistance à long terme), utilisez les fonctions ci-dessous pour récupérer les données.

Pour obtenir un excellent modèle de KVM, consultez la section Modèle de mise en cache des valeurs KVM.

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

Méthodes

Les méthodes suivantes fonctionnent 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 dans 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 du KVM auquel accéder.
  • scope : champ d'application du KVM. L'une des valeurs suivantes : organization, environment, api, ou revision.
  • proxy_name : uniquement pour un scope d' API, nom du proxy d' API.

Renvoie :

Un 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 :
    • Un objet Error si l'opération échoue.
    • Un objet (keys_array dans l'exemple ci-dessus) qui représente le tableau des noms de clés KVM.

Renvoie :

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

get

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

Obtient 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.
    • L'objet contenant la valeur de la 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);
});