Acessar mapas de chave-valor em Node.js

Você está lendo 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 chave-valor (KVM) 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 tempo de execução. Por exemplo, é possível armazenar valores de cota, de expiração de token de acesso do OAuth e de expiração de token de atualização do OAuth em um KVM para cada ambiente de implantação e, em seguida, recuperar os valores no seu código.

É possível criar um KVM em um dos 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. Ou 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á acessá-lo.

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

Para um ótimo padrão de KVM, consulte Um padrão para armazenar valores de KVM em cache.

Para uma introdução ao módulo apigee-access e outros recursos dele, consulte Usar o módulo apigee-access.

Métodos

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


getKeyValueMap

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

Recupera um 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 do KVM a ser acessado.
  • scope: o escopo do KVM. Um de organization, environment, api, ou revision.
  • proxy_name: para um escopo de api apenas, o nome do proxy de API.

Retorna:

Um objeto KVM.

Exemplo:

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

Se você definir scope como api, será necessário um terceiro parâmetro: 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 de erro 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));

Recebe o valor de uma chave KVM.

Parâmetros:

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

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

    • Um objeto de erro 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);
});