Acessar mapas de chave-valor em Node.js

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

É possível usar o módulo apigee-access para receber dados do mapa de valores-chave (KVM, na sigla em inglês) do Edge em um aplicativo Node.js. Esse método de recuperação de KVM é uma alternativa ao uso da política de operações de mapa de chave-valor para recuperar dados de KVM em um fluxo de proxy de API.

Os KVMs oferecem persistência de longo prazo de pares arbitrários de chave-valor que podem ser recuperados no ambiente de execução. Por exemplo, é possível armazenar valores de cota, valores de expiração de token de acesso do OAuth e valores de expiração de token de atualização do OAuth em uma KVM para cada ambiente de implantação e, em seguida, extrair os valores no código.

É possível criar uma KVM em um destes três escopos: organization, environment e apiproxy. Por exemplo, se você criar um KVM no escopo apiproxy para o proxy "foo", apenas o proxy "foo" poderá acessar o KVM. Se você criar um KVM no escopo do ambiente "test", todos os proxies de API implantados no ambiente "test" de uma organização poderão acessar o KVM, mas nenhum dos proxies implantados no ambiente "prod" poderá fazer isso.

Depois de criar um KVM com a API de gerenciamento, a IU de gerenciamento ou a política de operações de mapeamento de chave-valor (consulte Armazenamento em cache de persistência de longo prazo), use as funções aqui para recuperar os dados.

Para conferir um ótimo padrão de KVM, consulte https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Para ver uma introdução ao módulo apigee-access e aos outros recursos dele, consulte Como usar o módulo de acesso Apigee.

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). Depois que o objeto KVM for retornado, use as funções getKeys e get para retornar os nomes das chaves ou um valor de chave específico.

Parâmetros:

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

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 que contém os nomes de todas as chaves no 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 a matriz de nomes de chaves do 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
}); 

get

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

Obtém 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);
});