Вы просматриваете документацию по 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); });