Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Vous pouvez utiliser le module apigee-access
pour obtenir des données Edge Key-Value Map (KVM) à partir d'une application Node.js. Cette méthode de récupération KVM est une alternative à l'utilisation de la règle Opérations de mappage de clés-valeurs pour récupérer les données KVM dans un flux de proxy d'API.
Les KVM assurent la 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 les valeurs de quota, les valeurs d'expiration du jeton d'accès OAuth et les 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 pour l'un des trois champs d'application suivants: organization
, environment
et apiproxy
. Par exemple, si vous créez un KVM dans le champ d'application apiproxy du proxy "foo", seul le proxy "foo" peut accéder au KVM. Si vous créez un KVM au niveau de l'environnement "test", tous les proxys d'API déployés dans l'environnement "test" d'une organisation peuvent accéder à KVM, mais aucun des proxys déployés dans l'environnement "prod" 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 clés-valeurs (voir Mise en cache de persistance à long terme), utilisez les fonctions présentées ici pour récupérer les données.
Pour un excellent modèle KVM, consultez https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.
Pour 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ées et non chiffrées.
getKeyValueMap
var kvm = apigee.getKeyValueMap('kvm_name', 'scope'); var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');
Récupère un KVM pour 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. Indiquez
organization
,environment, api,
ourevision
. - proxy_name - Pour un champ d'application de api uniquement, 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 obligatoire : 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.
- Un objet (
keys_array
dans l'exemple ci-dessus) qui représente le tableau de 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 identifiant de manière unique l'élément dans le cache. -
callback
: (obligatoire) la fonction de rappel utilise deux paramètres:- 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); });