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 mappa chiave-valore (KVM) di Edge da un'applicazione Node.js. Questo metodo di recupero delle KVM è un'alternativa all'utilizzo del criterio per le operazioni della mappa chiave/valore per recuperare i dati delle KVM in un flusso 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 memorizzare i valori di quota, i valori di scadenza del token di accesso OAuth e i valori di scadenza del token di aggiornamento OAuth in un KVM per ogni ambiente di deployment, quindi recuperare i valori nel codice.

Puoi creare una chiave KVM in uno dei tre ambiti: 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 "test", tutti i proxy API di cui è stato eseguito il deployment nell'ambiente "test" di un'organizzazione possono accedere al 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, la UI di gestione o il criterio Operazioni mappa chiave-valore (vedi Memorizzazione nella cache persistente a lungo termine), utilizza le funzioni qui per recuperare i dati.

Per un ottimo pattern KVM, consulta Un pattern per memorizzare nella cache i 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 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 ambito specifico (organizzazione, ambiente, API o revisione). Dopo che l'oggetto KVM viene restituito, 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 a cui accedere.
  • ambito: l'ambito del KVM. Uno dei valori organization, environment, api, o revision.
  • proxy_name: per un ambito di api, solo 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 nel 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 la coppia chiave-valore 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);
});