Accesso alle mappe chiave-valore in Node.js

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, o revision.
  • 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_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
});

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