Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wprowadzenie
W tym temacie wyjaśniamy, jak używać interfejsu apigee-access
do uzyskiwania dostępu do limitu Apigee Edge
z aplikacji Node.js. Korzystając z apigee-access, możesz stosować
zresetuj 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. Za pomocą tej metody możesz zwiększać lub zmniejszać limit, zmieniać przedziały czasowe 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 identyfikatora zasobnika z limitami. W praktyce może to być identyfikator aplikacji, adres IP nazwa użytkownika.
- timeUnit (ciąg znaków, wymagany): czas trwania limitu zasobnik będzie gromadził, dopóki nie zostanie zresetowany. Prawidłowe wartości to „minute”, „godzina”, „day”, "week", oraz „miesiąc”.
- allow (liczba, wymagana): maksymalna wartość w zasobniku limitów. Wartość ta zostanie połączona z bieżącą wartością, aby zwrócić, czy udało się ustawić limit.
- interval (liczba, opcjonalnie): połączony z parametrem "timeUnit" aby określić, po jakim czasie limit zostanie zresetowany. Wartość domyślna to 1. Ustaw większą aby umożliwić takie limity, jak „dwie godziny”, „trzy tygodnie”, i tak dalej.
- weight (liczba, opcjonalnie): wartość do Zwiększ limit o. Wartość domyślna to 1.
(2) Drugi argument to funkcja wywołania zwrotnego z tymi dwoma argumenty:
- Pierwszy argument jest obiektem błędu, jeśli limitu nie można lub nieokreślona, jeśli operacja się udała.
- Drugi to obiekt zawierający następujące pola:
- used (liczba): bieżąca wartość parametru zasobnika limitu.
- allowed (liczba): maksymalna wartość parametru zasobnika, zanim limit zostanie uznany za przekroczony. Ta sama wartość została przekazana jako „zezwól” w obiekcie żądania.
- isAllowed (wartość logiczna): jeśli zostało wolne miejsce w limicie – true, dopóki ma „used” (używany) ma wartość mniejszą lub równą wartości „dozwolone”.
- expiryTime (długi): sygnatura czasowa w formacie milisekund od formatu 1970, kiedy zasobnik limitu zostanie zresetowany.
- timestamp (długi): sygnatura czasowa, limit został zaktualizowany.
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'); } }
resetowanie
Aby zresetować limit do zera, wywołaj przydział.reset(). Ta metoda przyjmuje 2 parametry:-
Obiekt JSON z tymi polami:
- identifier (ciąg znaków, wymagany): unikalny identyfikator limitu. zasobnika. W praktyce może to być identyfikator aplikacji, adres IP lub nazwa użytkownika.
- timeUnit (ciąg znaków, wymagany): czas, przez jaki będzie kumulowany zasobnik dopóki nie zostaną zresetowane. Prawidłowe wartości to „minute”, „godzina”, „day”, "week", i „miesiąc”.
- interval (liczba, opcjonalnie): połączony z parametrem „timeUnit” aby określić Po jakim czasie limit zostanie zresetowany? Wartość domyślna to 1. Aby umożliwić zresetowanie, ustaw większą wartość takich jak „dwie godziny”, „trzy tygodnie”, i tak dalej.
-
Funkcja wywołania zwrotnego:
- Jeśli reset się nie powiedzie, wywołanie zwrotne przyjmuje obiekt Error jako pierwszy parametr.
Przypadek użycia zaawansowanego limitu
Tworząc limit, możesz uwzględnić opcjonalne „opcje”, obiektu. Ten obiekt ma 1 opcjonalny parametr:- syncInterval (liczba, opcjonalnie): liczba sekund, implementacja limitu rozproszonego synchronizuje swój stan w całej sieci. Wartością domyślną jest 10.