Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Puoi utilizzare il modulo apigee-access per ottenere i dati della Key Value Map (KVM)
di Edge da un'applicazione Node.js. Questo metodo di recupero di KVM è un'alternativa all'utilizzo
del criterio Operazioni
Key Value Map per recuperare i dati KVM in un flusso di proxy API.
Le KVM forniscono una persistenza a lungo termine di coppie chiave/valore arbitrarie che puoi recuperare in fase di runtime. Ad esempio, puoi archiviare i valori di quota, i valori di scadenza del token di accesso OAuth e i valori di scadenza del token di aggiornamento OAuth in una KVM per ogni ambiente di deployment, quindi recuperare i valori nel codice.
Puoi creare una KVM in uno dei tre ambiti: organization,
environment, e apiproxy. Ad esempio, se crei una KVM nell'ambito apiproxy per il proxy "foo", solo il proxy "foo" può accedere alla KVM; oppure, se crei una KVM nell'ambito dell'ambiente "test", tutti i proxy API di cui è stato eseguito il deployment nell'ambiente "test" di un'organizzazione possono accedere alla KVM, ma nessuno dei proxy di cui è stato eseguito il deployment nell'ambiente "prod" può accedervi.
Dopo aver creato una KVM con l'API di gestione, l'interfaccia utente di gestione o il criterio Operazioni Key Value Map (vedi Caching di persistenza a lungo termine), utilizza le funzioni qui per recuperare i dati.
Per un ottimo pattern KVM, consulta Un pattern per la memorizzazione nella cache dei valori KVM.
Per un'introduzione al modulo apigee-access e alle sue altre funzionalità,
consulta Utilizzo del modulo apigee-access.
Metodi
I seguenti metodi funzionano sia su KVM criptate che non criptate.
getKeyValueMap
var kvm = apigee.getKeyValueMap('kvm_name', 'scope'); var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');
Recupera una KVM in un ambito specifico (organizzazione, ambiente, API o revisione). Dopo che l'
oggetto KVM è stato restituito, utilizza le funzioni getKeys e get per restituire i
nomi delle chiavi o un valore di chiave specifico.
Parametri:
- kvm_name : il nome della KVM a cui accedere.
- scope : l'ambito della KVM. Uno tra
organization,environment, api,orevision. - proxy_name : solo per un scope di API, il nome del proxy API.
Resi:
Un oggetto KVM.
Esempio:
var apigee = require('apigee-access'); var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
Se imposti scope su api, è necessario un terzo parametro: il nome del proxy API. Ad esempio:
var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');
getKeys
var kvmKeys =
apigee.getKeys(function(err, keys_array);Restituisce un array contenente i nomi di tutte le chiavi nella KVM.
Parametri:
-
callback: (obbligatorio) la funzione di callback utilizza due parametri:- Un oggetto Error se l'operazione non va a buon fine.
- Un oggetto (
keys_arraynell'esempio precedente) che rappresenta l'array di nomi delle chiavi KVM.
Resi:
Un array di nomi di chiavi KVM.
Esempio:
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));Ottiene il valore di una chiave KVM.
Parametri:
-
key: (obbligatorio) una stringa che identifica in modo univoco l'elemento nella cache. -
callback: (obbligatorio) la funzione di callback utilizza due parametri:- Un oggetto Error se l'operazione non va a buon fine.
- L'oggetto contenente il valore della chiave KVM come stringa.
Esempio:
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); });