Sie lesen die Dokumentation zu Apigee Edge.
Sehen Sie sich die Apigee X-Dokumentation an. info
Einführung
In diesem Thema wird erläutert, wie Sie mit apigee-access
von einer Node.js-Anwendung aus auf den Apigee Edge-Kontingentdienst zugreifen. Mit Apigee-Zugriff können Sie Kontingentwerte anwenden und zurücksetzen.
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
Anwenden
Ändert die Einstellungen für ein Kontingentobjekt. Verwenden Sie diese Methode, um das Kontingent zu erhöhen oder zu verringern, Zeitintervalle zu ändern und andere Konfigurationen vorzunehmen.
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()“ hat 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 es sich um eine Anwendungs-ID, eine IP-Adresse oder einen Nutzernamen handeln.
- timeUnit (String, erforderlich): Gibt an, wie lange die Kontingentmenge im Bucket akkumuliert wird, bevor er zurückgesetzt wird. Gültige Werte sind „minute“, „hour“, „day“, „week“ und „month“.
- allow (Zahl, erforderlich): Der maximale Wert für den Kontingentbereich. Dieser Wert wird mit dem aktuellen Wert kombiniert, um anzugeben, ob das Kontingent erreicht wurde.
- interval (Zahl, optional): Wird mit „timeUnit“ kombiniert, um anzugeben, wie lange das Kontingent nach Ablauf zurückgesetzt wird. Der Standardwert ist 1. Legen Sie einen höheren Wert fest, um Kontingente wie „zwei Stunden“ oder „drei Wochen“ 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 diesen beiden Argumenten:
- Das erste Argument ist ein Fehlerobjekt, wenn das Kontingent nicht erhöht werden kann, oder undefiniert, wenn der Vorgang erfolgreich war.
- Das zweite ist ein Objekt mit den folgenden Feldern:
- used (Zahl): Der aktuelle Wert des Kontingent-Buckets.
- allowed (Zahl): Der maximale Wert des Kontingent-Buckets, bevor das Kontingent überschritten wird. Derselbe Wert wurde im Anfrageobjekt als „allow“ übergeben.
- isAllowed (boolesch): Wenn das Kontingent noch Platz hat, gilt dies als "true", solange "used" kleiner oder gleich "allowed" ist.
- expiryTime (long): Der Zeitstempel in Millisekunden seit 1970, zu dem der Kontingent-Bucket zurückgesetzt wird.
- Zeitstempel (long): Der Zeitstempel, zu 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'); } }
zurücksetzen
Wenn Sie das Kontingent auf null zurücksetzen möchten, rufen Sie quota.reset() auf. Diese Methode hat zwei Parameter:-
Ein JSON-Objekt mit den folgenden Feldern:
- Kennung (String, erforderlich): Die eindeutige Kennung des Kontingent-Buckets. In der Praxis kann es sich dabei um eine Anwendungs-ID, eine IP-Adresse oder einen Nutzernamen handeln.
- timeUnit (String, erforderlich): Gibt an, wie lange die Daten im Kontingent-Bucket gesammelt werden, bevor er zurückgesetzt wird. Gültige Werte sind „minute“, „hour“, „day“, „week“ und „month“.
- interval (Zahl, optional): Wird mit „timeUnit“ kombiniert, um anzugeben, wie lange es dauert, bis das Kontingent zurückgesetzt wird. Der Standardwert ist 1. Legen Sie einen höheren Wert fest, um Zeiträume wie „zwei Stunden“ oder „drei Wochen“ zuzulassen.
-
Eine Callback-Funktion:
- Wenn das Zurücksetzen fehlschlägt, wird dem Callback ein Fehlerobjekt als erster Parameter übergeben.
Anwendungsfall Erweiterte Kontingente
Beim Erstellen eines Kontingents können Sie optional das Objekt „options“ einfügen. Dieses Objekt hat einen optionalen Parameter:- syncInterval (Zahl, optional): Die Anzahl der Sekunden, nach denen die verteilte Kontingentimplementierung ihren Status über das Netzwerk synchronisiert. Der Standardwert ist 10.