Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Вы можете использовать модуль apigee-access для получения данных карты ключ-значение (KVM) Edge из приложения Node.js. Этот метод получения KVM является альтернативой использованию политики операций с картой ключ-значение для получения данных KVM в потоке API-прокси.
KVM-серверы обеспечивают долговременное сохранение произвольных пар ключ/значение, которые можно получить во время выполнения. Например, вы можете хранить значения квот, сроки действия токенов доступа OAuth и сроки действия токенов обновления OAuth в KVM-сервере для каждой среды развертывания, а затем получать эти значения в своем коде.
Вы можете создать KVM в одной из трех областей видимости: organization , environment и apiproxy . Например, если вы создадите KVM в области видимости apiproxy для прокси-сервера "foo", доступ к KVM будет иметь только прокси-сервер "foo"; или если вы создадите KVM в области видимости среды "test", доступ к KVM будет иметь все API-прокси, развернутые в среде "test" организации, но доступ к нему не будет иметь ни одного из прокси-серверов, развернутых в среде "prod".
После создания KVM с использованием 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');
Получает объект KVM в определенной области (организация, среда, 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');
Если вы задаете область действия как API , то требуется третий параметр — имя прокси-сервера API. Например:
var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');
getKeys
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); });