Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X. info
Модуль apigee-access можно использовать для получения данных Edge key-value map (KVM) из приложения Node.js. Этот метод извлечения KVM является альтернативой использованию политики Key Value Map Operations для извлечения данных KVM в потоке прокси-API.
KVM обеспечивают долгосрочное сохранение произвольных пар «ключ/значение», которые можно извлекать во время выполнения. Например, вы можете хранить значения квот, сроков действия токенов доступа OAuth и сроков действия токенов обновления OAuth в KVM для каждой среды развертывания, а затем извлекать эти значения в коде.
Вы можете создать KVM в одной из трёх областей: organization , environment и apiproxy . Например, если вы создаёте KVM в области apiproxy для прокси-сервера «foo», доступ к KVM будет только у прокси-сервера «foo»; или если вы создаёте KVM в области среды «test», все прокси-серверы API, развёрнутые в тестовой среде организации, смогут получить доступ к KVM, но ни один из прокси-серверов, развёрнутых в среде «prod», не сможет получить к нему доступ.
После создания KVM с API управления, пользовательским интерфейсом управления или политикой операций с картой значений ключей (см. раздел Долгосрочное кэширование ) используйте представленные здесь функции для извлечения данных.
Лучший шаблон KVM см. в статье Шаблон кэширования значений KVM .
Введение в модуль apigee-access и его другие функции см. в разделе Использование модуля apigee-access .
Методы
Следующие методы работают как на зашифрованных, так и на незашифрованных KVM.
получитьKeyValueMap
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); });