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

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