Acessar mapas de chave-valor em Node.js

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Você pode usar o módulo apigee-access para acessar o mapa de chave-valor (KVM) do Edge. dados de dentro de um aplicativo Node.js. Esse método de recuperação de KVM é uma alternativa ao uso Mapa de chave-valor Política de operações para recuperar dados da KVM em um fluxo de proxy de API.

As KVMs fornecem persistência de longo prazo de pares de chave-valor arbitrários que podem ser recuperadas no ambiente de execução. Por exemplo, você pode armazenar valores de cota, valores de expiração do token de acesso OAuth e atualizar os valores de expiração do token em uma KVM para cada ambiente de implantação e recuperar no código.

É possível criar uma KVM em um destes três escopos: organization, environment e apiproxy. Por exemplo, se você criar uma KVM no escopo do apiproxy para o "foo" proxy, somente o parâmetro "foo" possa acessar a KVM. ou se você criar KVM no "teste" escopo do ambiente, todos os proxies de API implantados no "teste" de uma organização de produção pode acessar a KVM, mas nenhum dos proxies implantados no de nuvem pode para acessá-lo.

Depois de criar uma KVM com a API de gerenciamento, a interface de gerenciamento ou as operações de mapa de chave-valor política (consulte a documentação armazenamento em cache com persistência), use essas funções para recuperar os dados.

Para um ótimo padrão de KVM, consulte https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html (link em inglês).

Para uma introdução ao módulo apigee-access e aos outros recursos dele, consulte Como usar a biblioteca apigee-access módulo.

Métodos

Os métodos a seguir funcionam em KVMs criptografadas e não criptografadas.


getKeyValueMap

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

Recupera uma KVM em um escopo específico (organização, ambiente, API ou revisão). Após o o objeto KVM for retornado, use as funções getKeys e get para retornar o nomes de chave ou um valor-chave específico.

Parâmetros:

  • kvm_name: o nome da KVM a ser acessada.
  • scope: o escopo da KVM. Um de organization, environment, api, ou revision.
  • proxy_name: para um escopo de Somente api, o nome da API proxy.

Retorna:

Um objeto KVM.

Exemplo:

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

Se você definir scope como api, um terceiro parâmetro será necessário: o nome do proxy de API. Exemplo:

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

getKeys

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

Retorna uma matriz contendo os nomes de todas as chaves na KVM.

Parâmetros:

  • callback (obrigatório): a função de callback usa dois parâmetros:
    • Um objeto Error se a operação falhar.
    • Um objeto (keys_array no exemplo acima) que representa o matriz de nomes de chaves KVM.

Retorna:

Uma matriz de nomes de chaves KVM.

Exemplo:

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

receber

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

Recebe o valor de uma chave KVM.

Parâmetros:

  • key (obrigatório): uma string que identifica exclusivamente o item no cache.

  • callback (obrigatório): a função de callback usa dois parâmetros:

    • Um objeto Error se a operação falhar.
    • O objeto que contém o valor da chave KVM como uma string.

Exemplo:

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