Как получить доступ к картам пар "ключ-значение" в Node.js

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Модуль apigee-access позволяет получать данные карты "ключ-значение" Edge (KVM) из приложения Node.js. Этот способ получения KVM является альтернативой использованию правила операций с картами "ключ-значение" для получения данных KVM в потоке прокси-сервера API.

KVM обеспечивают долгосрочное хранение произвольных пар "ключ-значение", которые можно извлекать во время выполнения. Например, вы можете хранить значения квот, токенов доступа OAuth и токенов обновления OAuth в KVM для каждой среды развертывания, а затем извлекать эти значения в коде.

Создать KVM можно на одном из трех уровней: organization, environment и apiproxy. Например, если вы создадите KVM на уровне области действия прокси-сервера API для прокси-сервера foo, доступ к KVM будет только у прокси-сервера foo. Если вы создадите KVM на уровне области действия среды test, доступ к KVM будет у всех прокси-серверов API, развернутых в тестовой среде организации, но не у прокси-серверов, развернутых в среде prod.

После того как вы создадите карту "ключ-значение" с помощью API управления, интерфейса управления или правила "Операции с картой "ключ-значение" (см. раздел Долгосрочное кеширование), используйте приведенные ниже функции для получения данных.

Пример хорошего шаблона KVM можно найти в статье Шаблон для кеширования значений KVM.

Чтобы узнать больше о модуле apigee-access и его функциях, ознакомьтесь со статьей Как использовать модуль apigee-access.

Методы

Следующие методы работают как с зашифрованными, так и с незашифрованными KVM.


getKeyValueMap

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

Извлекает хранилище пар "ключ-значение" в определенной области (организация, среда, API или версия). После того как объект KVM будет возвращен, используйте функции getKeys и get, чтобы вернуть названия ключей или значение определенного ключа.

Параметры:

  • kvm_name – название KVM, к которому нужно получить доступ.
  • scope – область действия KVM. Одно из значений: organization, environment, api, или revision.
  • proxy_name – для области действия api название прокси-сервера API.

Возвраты

Объект KVM.

Пример

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

Если вы зададите для параметра scope значение api, то вам потребуется указать третий параметр – название прокси-сервера API. Пример:

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

getKeys

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

Возвращает массив, содержащий названия всех ключей в хранилище пар "ключ-значение".

Параметры:

  • callback (обязательный параметр). Функция обратного вызова использует два параметра:
    • Объект Error, если операция не выполнена.
    • Объект (keys_array в примере выше), представляющий массив названий ключей KVM.

Возвраты

Массив названий ключей KVM.

Пример

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

Получает значение ключа KVM.

Параметры:

  • key (обязательный параметр) – строка, которая однозначно идентифицирует объект в кеше.

  • callback (обязательный параметр). Функция обратного вызова использует два параметра:

    • Объект Error, если операция не выполнена.
    • Объект, содержащий значение ключа KVM в виде строки.

Пример

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