Kontingentdienst in Node.js aufrufen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Einführung

In diesem Thema wird erläutert, wie Sie mit apigee-access auf das Apigee Edge-Kontingent zugreifen über eine Node.js-Anwendung. Mit Apigee-Zugriff können Sie apply und Kontingentwerte reset.

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. 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 apply()-Methode verwendet zwei Parameter, ein Objekt und eine Funktion:

(1) Der erste Parameter ist ein JSON-Objekt mit folgenden Feldern:

  • Kennzeichnung (String, erforderlich): Eine eindeutige ID des Kontingent-Buckets. In der Praxis kann es sich um eine Anwendungs-ID, IP-Adresse oder Nutzernamen.
  • timeUnit (String, erforderlich): die Dauer des Kontingents Bucket sammelt sich an, bis er zurückgesetzt wird. Gültige Werte sind "minute", „Stunde“, „Tag“, „Woche“, und „Monat“.
  • allow (Zahl, erforderlich): Der Maximalwert für Kontingent-Bucket Dieser Wert wird mit dem aktuellen Wert kombiniert, um anzugeben, ob der Kontingent war erfolgreich.
  • interval (Zahl, optional): Kombiniert mit dem Parameter „timeUnit“ um zu ermitteln, wie lange es dauert, bis das Kontingent zurückgesetzt wird. Der Standardwert ist 1. Auf einen größeren Wert festlegen um Kontingente wie "zwei Stunden", „drei Wochen“ und so weiter.
  • weight (Zahl, optional): Der Wert für Kontingent erhöhen um Der Standardwert ist 1.

(2) Das zweite Argument ist eine Callback-Funktion mit diesen beiden Argumente:

  • Das erste Argument ist ein Error-Objekt, wenn das Kontingent nicht erhöht oder nicht definiert, wenn der Vorgang erfolgreich war.
  • Das zweite ist ein Objekt, das die folgenden Felder enthält: <ph type="x-smartling-placeholder">
      </ph>
    • used (Zahl): Der aktuelle Wert des Kontingent-Bucket.
    • allowed (Zahl): Der Maximalwert der Kontingent-Bucket gespeichert werden, bevor das Kontingent als überschritten gilt. Es wurde derselbe Wert übergeben wie „zulassen“ im Anfrageobjekt.
    • isAllowed (boolesch): wenn noch Platz vorhanden ist im Kontingent – true, solange "used" ist kleiner als oder gleich „zulässig“.
    • expiryTime (long): Der Zeitstempel in Millisekunden seit dem Format 1970, wobei der Kontingent-Bucket zurückgesetzt wird.
    • timestamp (long): Der Zeitstempel, Das Kontingent wurde aktualisiert.

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

Rufen Sie zum Zurücksetzen des Kontingents auf null Kontingent.reset() Diese Methode verwendet zwei Parameter:
<ph type="x-smartling-placeholder">
    </ph>
  • Ein JSON-Objekt mit diesen Feldern: <ph type="x-smartling-placeholder">
      </ph>
    • Kennung (String, erforderlich): Eine eindeutige Kennung des Kontingents. Bucket. In der Praxis kann es sich dabei um eine Anwendungs-ID, eine IP-Adresse oder einen Nutzernamen handeln.
    • timeUnit (String, erforderlich): wie lange sich der Kontingent-Bucket sammelt bis es zurückgesetzt wird. Gültige Werte sind "minute", „Stunde“, „Tag“, „Woche“, und "Monat".
    • interval (Zahl, optional): Kombiniert mit "timeUnit" um zu bestimmen, wie lange es dauert, bis das Kontingent zurückgesetzt wird. Der Standardwert ist 1. Legen Sie einen höheren Wert fest, um das Zurücksetzen zuzulassen wie „zwei Stunden“, „drei Wochen“ und so weiter.
  • Eine Callback-Funktion: <ph type="x-smartling-placeholder">
      </ph>
    • Das Callback verwendet ein Error-Objekt als ersten Parameter, wenn das Zurücksetzen fehlschlägt.

Anwendungsfall Erweiterte Kontingente

Beim Erstellen eines Kontingents können Sie Folgendes angeben: optionale „Optionen“ -Objekt enthält. Dieses Objekt hat einen optionalen Parameter: <ph type="x-smartling-placeholder">
    </ph>
  • syncInterval (Zahl, optional): Die Anzahl der Sekunden, die der Bei der Implementierung von verteilten Kontingenten wird der Status im Netzwerk synchronisiert. Der Standardwert ist 10.
Mit diesem Parameter können Sie die Leistung des verteilten Kontingents im gesamten Netzwerk optimieren. Notizen Beachten Sie, dass eine niedrigere Einstellung die Leistung beeinträchtigt und die Latenz „Anwenden“ . Die Standardeinstellung von 10 Sekunden ist eine gute Einstellung für viele Anwendungen. Das Intervall kann auf null gesetzt werden, was bedeutet, dass der Status jedes Mal synchronisiert wird. „Anwenden“ aufgerufen wird. In diesem Fall ist die Leistung viel schlechter.