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

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Puedes usar el módulo apigee-access para obtener datos del mapa de 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 de mapa de 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 valores de cuota, valores de vencimiento de tokens de acceso de OAuth y valores de vencimiento de tokens 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 permisos: organization, environment y apiproxy. Por ejemplo, si creas un KVM en el alcance de apiproxy para el proxy “foo”, solo el proxy “foo” puede acceder al KVM. O si creas un KVM en el alcance del entorno “test”, todos los proxies de API implementados en el entorno “test” de una organización pueden acceder al KVM, pero ninguno de los proxies implementados en el entorno “prod” puede acceder a él.

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

Para obtener un buen 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 Cómo usar el módulo apigee-access.

Métodos

Los siguientes métodos funcionan en KVM encriptados y 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 específico (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: Es el permiso de KVM. Es uno de los siguientes: organization, environment, api, o revision.
  • proxy_name: Para un alcance de solo api, es el nombre del proxy de API.

Muestra:

Un objeto KVM.

Ejemplo:

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

Si configuras scope como api, se requerirá 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 del 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.
    • Un objeto (keys_array en el ejemplo anterior) que representa el array de nombres de claves de KVM.

Muestra:

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: (Obligatorio) Es una cadena que identifica de forma inequívoca el elemento en la caché.

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

    • Un objeto Error si falla la operación.
    • Es el objeto que contiene el valor de la clave de 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);
});