Acessar mapas de chave-valor em Node.js

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

É possível usar o módulo apigee-access para receber dados do mapa de chave-valor do Edge (KVM) de dentro de 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 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 recuperados no ambiente de execução. Por exemplo, é possível armazenar valores de cota, valores de expiração do token de acesso OAuth e valores de expiração do token OAuth de atualização em uma KVM para cada ambiente de implantação e, em seguida, recuperar os valores no seu 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 apiproxy para o proxy "foo", somente o proxy "foo" poderá acessar a KVM. Se você criar uma KVM no escopo do ambiente "test", todos os proxies de API implantados no ambiente "test" de uma organização poderão acessar a KVM, mas nenhum dos proxies implantados no ambiente "prod" poderá acessá-la.

Depois de criar uma KVM com a API de gerenciamento, a IU de gerenciamento ou a política de operações do mapa de chave-valor (consulte Armazenamento em cache de persistência de longo prazo), use estas funções 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 uma introdução ao módulo apigee-access e a outros recursos dele, consulte Como usar o módulo apigee-access.

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 ou um valor de chave específico.

Parâmetros:

  • kvm_name: o nome da KVM a ser acessada.
  • scope: o escopo da KVM. Uma destas: organization, environment, api, ou revision.
  • proxy_name: apenas para o proxy_name da 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 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 Erro se a operação falhar.
    • Um objeto (keys_array no exemplo acima) que representa a 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
}); 

acessar

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