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

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