Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Введение
В этом разделе объясняется, как использовать apigee-access
для доступа к службе квот Apigee Edge из приложения Node.js. С помощью apigee-access вы можете применять и сбрасывать значения квот.
Пример
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({ identifier: 'Foo', allow: 10, timeUnit: 'hour' }, function(err, result) { console.log('Quota applied: %j', result); });
Методы
применять
Изменяет настройки объекта Quota. Используйте этот метод для увеличения или уменьшения квоты, изменения временных интервалов и выполнения других настроек.
Использование
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Пример
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
Параметры
Метод apply() принимает два параметра: объект и функцию:
(1) Первый параметр — это объект JSON со следующими полями:
- идентификатор (обязательное поле): уникальный идентификатор сегмента квоты. На практике это может быть идентификатор приложения, IP-адрес или имя пользователя.
- timeUnit (строка, обязательная): как долго будет накапливаться сегмент квоты до его сброса. Допустимые значения: «минута», «час», «день», «неделя» и «месяц».
- разрешить (число, обязательно): максимальное значение сегмента квоты. Это значение будет объединено с текущим значением, чтобы определить, успешно ли выполнена квота.
- интервал (число, необязательно): в сочетании с «timeUnit», чтобы определить, сколько времени пройдет до сброса квоты. Значение по умолчанию — 1. Установите большее значение, чтобы разрешить такие квоты, как «два часа», «три недели» и т. д.
- вес (число, необязательно): значение, на которое увеличивается квота. По умолчанию — 1.
(2) Второй аргумент — это функция обратного вызова со следующими двумя аргументами:
- Первый аргумент — это объект Error, если квота не может быть увеличена, или неопределенный, если операция завершилась успешно.
- Второй — это объект, который содержит следующие поля:
- использовано (число): текущее значение сегмента квоты.
- разрешено (число): максимальное значение сегмента квоты, после которого квота считается превышенной. То же значение было передано как «разрешить» в объекте запроса.
- isAllowed (логическое значение): если в квоте осталось место — истина, пока «используется» меньше или равно «разрешено».
- expiryTime (long): временная метка в миллисекундах, начиная с формата 1970 года, когда сегмент квоты будет сброшен.
- timestamp (long): отметка времени обновления квоты.
Пример
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); // Apply a quota of 500 requests per five minutes quota.apply({ identifier: 'Bar', timeUnit: 'minute', interval: 5, allow: 500 }, quotaResult); // Increment the quota by a value of 10 quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100, weight: 10 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
перезагрузить
Чтобы сбросить квоту до нуля, вызовите quota.reset(). Этот метод принимает два параметра:- Объект JSON со следующими полями:
- идентификатор (обязательное поле): уникальный идентификатор сегмента квоты. На практике это может быть идентификатор приложения, IP-адрес или имя пользователя.
- timeUnit (строка, обязательная): как долго сегмент квоты будет накапливаться до тех пор, пока он не будет сброшен. Допустимые значения: «минута», «час», «день», «неделя» и «месяц».
- интервал (число, необязательно): в сочетании с «timeUnit», чтобы определить, сколько времени пройдет до сброса квоты. По умолчанию установлено значение 1. Установите большее значение, чтобы разрешить время сброса, например «два часа», «три недели» и т. д.
- Функция обратного вызова:
- Обратный вызов принимает объект Error в качестве первого параметра, если сброс не удался.
Вариант использования расширенной квоты
При создании квоты вы можете включить дополнительный объект «Параметры». Этот объект имеет один необязательный параметр:- syncInterval (число, необязательно): количество секунд, в течение которых реализация распределенной квоты синхронизирует свое состояние по сети. По умолчанию — 10.