Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Wprowadzenie
W tym temacie wyjaśniamy, jak za pomocą instancji apigee-access
uzyskać dostęp do usługi limitów Apigee Edge z aplikacji Node.js. Korzystając z apigee-access, możesz zastosować 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
stosować
Modyfikuje ustawienia obiektu Limit. Za pomocą tej metody możesz zwiększać lub zmniejszać limit, zmieniać przedziały czasowe i dokonywać innych konfiguracji.
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, wymagany): niepowtarzalny identyfikator puli limitu. W praktyce może to być identyfikator aplikacji, adres IP lub nazwa użytkownika.
- timeUnit (ciąg znaków, wymagany): czas, przez jaki zasobnik z limitem będzie się gromadzić, dopóki nie zostanie zresetowany. 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ć informację, czy limit został przekroczony.
- interval (liczba, opcjonalnie): łączy się z „timeUnit” w celu określenia czasu, po którym limit ma zostać zresetowany. Wartość domyślna to 1. Ustaw większą wartość, aby umożliwić użycie limitów takich jak „2 godziny”, „3 tygodnie” itp.
- weight (liczba, opcjonalnie): wartość, o którą ma zostać zwiększona kwota. Wartość domyślna to 1.
(2) Drugi argument to funkcja wywołania zwrotnego z tymi dwoma argumentami:
- Pierwszy argument to obiekt Error, jeśli nie można zwiększyć limitu, lub nieokreślony, jeśli operacja się powiodła.
- Drugi to obiekt zawierający te pola:
- used (liczba): bieżąca wartość zasobnika limitu.
- allowed (liczba): maksymalna wartość grupy limitu, zanim zostanie on przekroczony. Ta sama wartość została przekazana jako „allow” w obiekcie żądania.
- isAllowed (wartość logiczna): jeśli w ramach limitu jest jeszcze miejsce – wartość „true”, o ile „used” jest mniejsze lub równe „allowed”.
- expiryTime (long): sygnatura czasowa w milisekundach od 1970 r., w której limit zostanie zresetowany.
- timestamp (długi): sygnatura czasowa, w której 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 metodę constraint.reset(). Metoda ta wymaga 2 parametrów:-
Obiekt JSON z tymi polami:
- identifier (ciąg, wymagany): niepowtarzalny identyfikator puli limitu. W praktyce może to być identyfikator aplikacji, adres IP lub nazwa użytkownika.
- timeUnit (string, wymagany): czas, przez jaki bucket limitu będzie gromadzić dane, do momentu zresetowania. Prawidłowe wartości to „minute”, „hour”, „day”, „week” i „month”.
- interval (liczba, opcjonalnie): w połączeniu z parametrem „timeUnit” określa, ile czasu przed zresetowaniem limitu. Wartość domyślna to 1. Ustaw większą wartość, aby umożliwić resetowanie. Możesz użyć takich wartości jak „2 godziny”, „3 tygodnie” itp.
-
Funkcja wywołania zwrotnego:
- Jeśli reset się nie powiedzie, wywołanie zwrotne przyjmuje obiekt Error jako pierwszy parametr.
Zaawansowane przypadki użycia limitu
Podczas tworzenia limitu możesz uwzględnić opcjonalny obiekt „options”. Ten obiekt ma 1 opcjonalny parametr:- syncInterval (liczba, opcjonalnie): liczba sekund, w których implementacja limitu rozproszonego synchronizuje swój stan w sieci. Wartością domyślną jest 10.