Accesso alle mappe chiave-valore in Node.js

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Puoi utilizzare il modulo apigee-access per ottenere i dati della mappa KVM (edge key value map) da un'applicazione Node.js. Questo metodo di recupero KVM rappresenta un'alternativa all'utilizzo del criterio Key Value Map Operations per recuperare i dati KVM in un flusso proxy API.

I KVM forniscono la persistenza a lungo termine di coppie chiave/valore arbitrarie che puoi recuperare in fase di runtime. Ad esempio, puoi archiviare i valori delle quote, i valori della scadenza dei token di accesso OAuth e dei token di aggiornamento OAuth in un KVM per ogni ambiente di deployment, quindi recuperare i valori nel codice.

Puoi creare un KVM in uno dei tre ambiti seguenti: organization, environment e apiproxy. Ad esempio, se crei un KVM nell'ambito apiproxy per il proxy "foo", solo il proxy "foo" può accedere al KVM; oppure, se crei un KVM nell'ambito dell'ambiente di test, tutti i proxy API di cui è stato eseguito il deployment nell'ambiente di test di un'organizzazione potranno accedere al KVM, ma nessuno dei proxy di cui è stato eseguito il deployment nell'ambiente di produzione può accedervi.

Dopo aver creato un KVM con l'API di gestione, l'interfaccia utente di gestione o il criterio Key Value Map Operations (consulta la sezione Memorizzazione nella cache di persistenza a lungo termine), utilizza queste funzioni per recuperare i dati.

Per un ottimo pattern KVM, consulta https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Per un'introduzione al modulo apigee-access e alle sue altre funzionalità, consulta Utilizzo del modulo apigee-access.

Metodi

I seguenti metodi funzionano su KVM sia criptati che non criptati.


getKeyValueMap

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

Recupera un KVM in un determinato ambito (organizzazione, ambiente, API o revisione). Dopo aver restituito l'oggetto KVM, utilizza le funzioni getKeys e get per restituire i nomi delle chiavi o un valore di chiave specifico.

Parametri:

  • kvm_name: il nome del KVM al quale accedere.
  • scope: l'ambito del KVM. Uno tra organization, environment, api, o revision.
  • proxy_name: solo per un proxy_name 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 l'ambito su api, è richiesto 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 del KVM.

Parametri:

  • callback (obbligatorio) la funzione di callback utilizza due parametri:
    • Oggetto Error se l'operazione non va a buon fine.
    • Un oggetto (keys_array nell'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
}); 

ottieni

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

Restituisce 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:

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