Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Wstęp
W tym temacie wyjaśniamy, jak używać apigee-access
do uzyskiwania dostępu do usługi limitów Apigee Edge z aplikacji Node.js. Dzięki dostępowi apigee możesz stosować i resetować wartości limitów.
Przykład
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); });
Metody
zastosuj
Modyfikuje ustawienia obiektu Limit. Użyj tej metody, aby zwiększać lub zmniejszać limit, zmieniać przedziały czasu i wprowadzać inne konfiguracje.
Wykorzystanie
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Przykład
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'); } }
Parametry
Metoda apply() przyjmuje 2 parametry – obiekt i funkcję:
(1) Pierwszy parametr to obiekt JSON z tymi polami:
- identifier (ciąg znaków, wymagany): unikalny identyfikator zasobnika z limitami. W praktyce może to być identyfikator aplikacji, adres IP lub nazwa użytkownika.
- timeUnit (ciąg znaków, wymagany): czas, przez jaki zasobnik limitu będzie akumulowany do momentu zresetowania. Prawidłowe wartości to „minute”, „hour”, „day”, „week” i „month”.
- allow (liczba, wymagana): maksymalna wartość zasobnika limitu. Ta wartość zostanie połączona z bieżącą wartością, aby zwrócić uwagę na to, czy limit został osiągnięty.
- interval (liczba, opcjonalnie): łącznie z wartością „timeUnit” pozwala określić, po jakim czasie limit zostanie zresetowany. Wartością domyślną jest 1. Ustaw większą wartość, aby zezwolić na limity, takie jak „2 godziny” „3 tygodnie” itd.
- weight (liczba, opcjonalnie): wartość, o którą zwiększa się limit. Wartość domyślna to 1.
(2) Drugi argument to funkcja wywołania zwrotnego z tymi 2 argumentami:
- Pierwszy argument to obiekt Błąd, jeśli nie można zwiększyć limitu, lub niezdefiniowany, jeśli operacja się powiodła.
- Drugi obiekt to obiekt zawierający te pola:
- used (liczba): bieżąca wartość zasobnika limitu.
- allowed (liczba): maksymalna wartość zasobnika limitu przed uznaniem, że limit zostanie przekroczony. Ta sama wartość została przekazana jako „allow” w obiekcie żądania.
- isAllowed (wartość logiczna): jeśli w limicie zostało miejsce, tak długo, jak wartość „used” jest mniejsza lub równa „allow”.
- expiryTime (długi): sygnatura czasowa (w milisekundach od formatu 1970), kiedy zasobnik limitu zostanie zresetowany.
- timestamp (długi): sygnatura czasowa aktualizacji limitu.
Przykład
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'); } }
Resetuj
Aby zresetować limit do zera, wywołaj limit.reset(). Ta metoda przyjmuje 2 parametry:-
Obiekt JSON z tymi polami:
- identifier (ciąg znaków, wymagany): unikalny identyfikator zasobnika limitów. W praktyce może to być identyfikator aplikacji, adres IP lub nazwa użytkownika.
- timeUnit (ciąg znaków, wymagany): jak długo będzie akumulowany zasobnik limitu do momentu zresetowania. Prawidłowe wartości to „minute”, „hour”, „day”, „week” i „month”.
- interwał (liczba, opcjonalnie): połączony z parametrem „timeUnit” w celu określenia czasu, po którym limit zostanie zresetowany. Wartością domyślną jest 1. Ustaw większą wartość, aby umożliwić resetowanie, na przykład „2 godziny” „3 tygodnie” itd.
-
funkcji wywołania zwrotnego:
- Jeśli resetowanie się nie powiedzie, wywołanie zwrotne przyjmuje jako pierwszy parametr obiekt Error.
Przypadek użycia limitu zaawansowanego
Podczas tworzenia limitu możesz uwzględnić opcjonalny obiekt „options”. Ten obiekt ma 1 opcjonalny parametr:- syncInterval (liczba, opcjonalnie): liczba sekund, przez które implementacja limitu rozproszonego synchronizuje swój stan w sieci. Wartością domyślną jest 10.