Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation zuApigee X wechseln. info
Einführung
In diesem Thema wird erläutert, wie Sie mit dem apigee-access von einer Node.js-Anwendung aus auf den Apigee Edge-Kontingentdienst
zugreifen. Mit apigee-access können Sie anwenden und
zurücksetzen Kontingentwerte.
Beispiel
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); });
Methoden
apply
Ändert die Einstellungen für ein Kontingentobjekt. Mit dieser Methode können Sie das Kontingent erhöhen oder verringern, Zeitintervalle ändern und andere Konfigurationen vornehmen.
Nutzung
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Beispiel
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'); } }
Parameter
Die Methode apply() verwendet zwei Parameter, ein Objekt und eine Funktion:
(1) Der erste Parameter ist ein JSON-Objekt mit den folgenden Feldern:
- identifier (String, erforderlich): Eine eindeutige Kennung des Kontingent-Buckets. In der Praxis kann dies eine Anwendungs-ID, eine IP-Adresse oder Nutzername sein.
- timeUnit (String, erforderlich): Wie lange das Kontingent Bucket akkumuliert wird, bis es zurückgesetzt wird. Gültige Werte sind "minute," "hour," "day," "week," und "month."
- allow (Zahl, erforderlich): Der Maximalwert für das Kontingent-Bucket. Dieser Wert wird mit dem aktuellen Wert kombiniert, um zurückzugeben, ob das Kontingent erfolgreich war.
- interval (Zahl, optional): Wird mit "timeUnit" kombiniert, um zu bestimmen, wie lange es dauert, bis das Kontingent zurückgesetzt wird. Der Standardwert ist 1. Legen Sie einen größeren Wert fest, um Kontingente wie „zwei Stunden“, „drei Wochen“ usw. zuzulassen.
- weight (Zahl, optional): Der Wert, um den das Kontingent erhöht werden soll. Der Standardwert ist 1.
(2) Das zweite Argument ist eine Callback-Funktion mit den folgenden zwei Argumenten:
- Das erste Argument ist ein Fehlerobjekt, wenn das Kontingent nicht erhöht werden kann , oder „undefined“, wenn der Vorgang erfolgreich war.
- Das zweite Argument ist ein Objekt mit den folgenden Feldern:
- used (Zahl): Der aktuelle Wert des Kontingent-Buckets.
- allowed (Zahl): Der Maximalwert des Kontingent-Buckets, bevor das Kontingent als überschritten gilt. Derselbe Wert wurde im Anfrageobjekt als „allow“ übergeben.
- isAllowed (boolesch): Gibt an, ob noch Platz im Kontingent ist. „true“, solange „used“ kleiner oder gleich „allowed“ ist.
- expiryTime (Long): Der Zeitstempel im Format „Millisekunden seit 1970“, wann das Kontingent-Bucket zurückgesetzt wird.
- Zeitstempel (Long): Der Zeitstempel, an dem das Kontingent aktualisiert wurde.
Beispiel
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'); } }
reset
Rufen Sie quota.reset() auf, um das Kontingent auf null zurückzusetzen. Diese Methode verwendet zwei Parameter:-
Ein JSON-Objekt mit den folgenden Feldern:
- identifier (String, erforderlich): Eine eindeutige Kennung des Kontingent Buckets. In der Praxis kann dies eine Anwendungs-ID, eine IP-Adresse oder ein Nutzername sein.
- timeUnit (String, erforderlich): Wie lange das Kontingent-Bucket akkumuliert wird, bis es zurückgesetzt wird. Gültige Werte sind „minute“, „hour“, „day“, „week“ und „month“.
- interval (Zahl, optional): Wird mit "timeUnit" kombiniert, um zu bestimmen wie lange es dauert, bis das Kontingent zurückgesetzt wird. Der Standardwert ist 1. Legen Sie einen größeren Wert fest, um Rücksetzzeiten wie „zwei Stunden“, „drei Wochen“ usw. zuzulassen.
-
Eine Callback-Funktion:
- Die Callback-Funktion verwendet ein Fehlerobjekt als ersten Parameter, wenn das Zurücksetzen fehlschlägt.
Erweiterter Anwendungsfall für Kontingente
Beim Erstellen eines Kontingents können Sie ein optionales „options“-Objekt einfügen. Dieses Objekt hat einen optionalen Parameter:- syncInterval (Zahl, optional): Die Anzahl der Sekunden, in denen die verteilte Kontingentimplementierung ihren Status im Netzwerk synchronisiert. Der Standardwert ist 10.