Доступ к картам значений ключей в Node.js

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

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

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

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

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

Отличный шаблон KVM см. на странице https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html .

Знакомство с модулем apigee-access и другими его функциями см. в разделе «Использование модуля apigee-access» .

Методы

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


GetKeyValueMap

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

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

Параметры:

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

Возврат:

Объект KVM.

Пример:

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

Если вы установите область действия API , то потребуется третий параметр — имя прокси-сервера API. Например:

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

получить ключи

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

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

Параметры:

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

получать

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