Accede a mapas de pares clave-valor en Node.js

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Puedes usar el módulo apigee-access para obtener datos del mapa de pares clave-valor (KVM) de Edge desde una aplicación de Node.js. Este método de recuperación de KVM es una alternativa al uso de la política de operaciones del mapa de pares clave-valor para recuperar datos de KVM en un flujo de proxy de API.

Los KVM proporcionan persistencia a largo plazo de pares clave-valor arbitrarios que puedes recuperar en el entorno de ejecución. Por ejemplo, puedes almacenar los valores de las cuotas, los valores de vencimiento del token de acceso de OAuth y los valores de vencimiento del token de actualización de OAuth en un KVM para cada entorno de implementación y, luego, recuperar los valores en tu código.

Puedes crear un KVM en uno de estos tres alcances: organization, environment y apiproxy. Por ejemplo, si creas un KVM en el alcance de apiproxy para el proxy “foo”, solo este puede acceder a KVM; o si creas un KVM en el alcance de entorno “test”, todos los proxies de API implementados en el entorno “test” de una organización pueden acceder a él, pero ninguno de los proxies implementados en el entorno “prod”.

Después de crear un KVM con la API de administración, la IU de administración o la política de operaciones de asignación de pares clave-valor (consulta Almacenamiento en caché de persistencia a largo plazo), usa las funciones que se indican aquí para recuperar los datos.

Para ver un excelente patrón de KVM, consulte https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Para obtener una introducción al módulo apigee-access y sus otras funciones, consulta Usa el módulo Apigee-access.

Métodos

Los siguientes métodos funcionan tanto en los KVM encriptados como en los no encriptados.


getKeyValueMap

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

Recupera un KVM en un alcance particular (organización, entorno, API o revisión). Después de que se muestre el objeto KVM, usa las funciones getKeys y get para mostrar los nombres de las claves o un valor de clave específico.

Parámetros:

  • kvm_name: Es el nombre del KVM al que se accederá.
  • scope: El alcance del KVM. organization, environment, api, o revision.
  • proxy_name: Solo para un alcance de api, el nombre del proxy de API.

Devuelve:

Es un objeto KVM.

Ejemplo:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');

Si configuras scope como api, se requiere un tercer parámetro: el nombre del proxy de API. Por ejemplo:

var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');

getKeys

var kvmKeys = apigee.getKeys(function(err, keys_array);

Muestra un array que contiene los nombres de todas las claves en el KVM.

Parámetros:

  • callback (obligatorio): La función de devolución de llamada usa dos parámetros:
    • Un objeto Error si la operación falla.
    • Objeto (keys_array en el ejemplo anterior) que representa el array de nombres de claves de KVM.

Devuelve:

Es un array de nombres de claves de KVM.

Ejemplo:

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

obtener

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

Obtiene el valor de una clave de KVM.

Parámetros:

  • key: String que identifica de manera única el elemento en caché (obligatorio).

  • callback (obligatorio): La función de devolución de llamada usa dos parámetros:

    • Un objeto Error si la operación falla.
    • Es el objeto que contiene el valor clave KVM como una cadena.

Ejemplo:

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