ResetQuota-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Was

Wird verwendet, um die verbleibende Anzahl der Anfragen, die gemäß der Zielkontingent-Richtlinie zulässig sind, dynamisch zu ändern. In der Regel verwenden Sie diese Richtlinie, um die aktuelle Kontingentanzahl der Zielkontingent-Richtlinie zu reduzieren, anstatt auf das Zurücksetzen der Kontingentzahl zu warten.

Beispiel: Die Zielkontingent-Richtlinie beschränkt einen Entwickler auf 1.000 Anfragen pro Woche. Zum zweiten Wochentag hat der Entwickler dieses Limit bereits erreicht. Verwenden Sie die Richtlinie "Kontingent zurücksetzen", um 500 von ihrem Kontingentzähler abzuziehen und so weitere 500 Anfragen für den Rest der Woche zu genehmigen. Am Ende der Woche wird die Kontingentrichtlinie zurückgesetzt und der Entwickler erhält wieder 1.000 Anfragen pro Woche.

Diese Richtlinie ist eine erweiterbare Richtlinie, deren Verwendung je nach Apigee-Lizenz Auswirkungen auf die Kosten oder die Nutzung haben kann. Informationen zu Richtlinientypen und Auswirkungen auf die Nutzung finden Sie unter Richtlinientypen.

Weitere Informationen zur Kontingentrichtlinie finden sich unter Kontingentrichtlinie. Weitere Informationen zur Verwendung der Richtlinie zum Zurücksetzen von Kontingenten finden Sie in diesem Communitybeitrag.

Beispiele

Diese Codebeispiele zeigen, wie Kontingentzähler zurückgesetzt werden:

Standardzähler zurücksetzen

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Die Richtlinie zum Zurücksetzen von Kontingenten legt die Richtlinie für das Zielkontingent fest. Dazu verwenden Sie das Attribut Name des Tags <Quota>. Im obigen Beispiel ist die Richtlinie „MyQuotaPolicy“ das Ziel.

Für alle Richtlinien zum Zurücksetzen von Kontingenten muss das Tag <Identifier> den Zähler in der zu aktualisierenden Kontingentrichtlinie angeben. Standardmäßig enthält eine Kontingentrichtlinie einen einzelnen Zähler, sofern die Kontingentrichtlinie nicht auch das Tag <Identifier> enthält. In diesem Beispiel verwendet die Zielkontingentrichtlinie das <ID>-Tag nicht. Sie können also dasName-Attribut als_Standardeinstellung festlegen.

Das Element <Allow> gibt den Wert an, mit dem die aktuelle Anzahl der Kontingente für die Zielrichtlinie verringert wird. In diesem Beispiel wird die Kontingentanzahl um 100 reduziert, um 100 weitere Anfragen an die Richtlinie für das Zielkontingent zu ermöglichen. Wenn die Zielkontingentrichtlinie zurückgesetzt wird, wird diese Änderung verworfen.

Im Folgenden finden Sie die Definition der Richtlinie für das Zielkontingent:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Referenz verwenden

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

In diesem Beispiel übergeben Sie den Namen der Richtlinie für das Zielkontingent und die Änderung der Kontingentanzahl als Header in der Anfrage. Anschließend können Sie in der Richtlinie „Kontingent zurücksetzen“ auf die Ablaufvariablen verweisen, die diese Werte enthalten.

ID angeben

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Ist in der Zielkontingent-Richtlinie das Tag <Identifier> angegeben, so können Sie denselben Wert für das Tag <Identifier> der Richtlinie zum Zurücksetzen von Kontingenten festlegen, um eine bestimmte Kontingentzahl zu aktualisieren. Beachten Sie, dass das <Identifier>-Tag in der unten angegebenen Zielkontingent-Richtlinie mit dem Wert übereinstimmt, der in der Richtlinie zum Zurücksetzen der Kontingente angegeben wurde:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Elementverweis

Der Elementverweis beschreibt die Elemente und Attribute der Richtlinie zum Zurücksetzen von Kontingenten.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

<ResetQuota>-Attribute

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

In der folgenden Tabelle werden Attribute beschrieben, die für alle übergeordneten Richtlinienelemente gelten:

Attribut Beschreibung Standard Presence
name

Der interne Name der Richtlinie. Der Wert des Attributs name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

Erforderlich
continueOnError

Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten.

Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird. Siehe auch:

false Optional
enabled

Setzen Sie den Wert auf true, um die Richtlinie zu erzwingen.

Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht erzwungen, selbst wenn sie mit einem Ablauf verknüpft ist.

true Optional
async

Dieses Attribut wurde verworfen.

false Verworfen

<DisplayName>-Element

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

<DisplayName>Policy Display Name</DisplayName>
Standard

Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs name der Richtlinie verwendet.

Presence Optional
Typ String

<Quota>-Element

Gibt die Zielkontingent-Richtlinie an, deren Zähler aktualisiert werden soll.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Standard:
Präsenz: Erforderlich
Typ:

Attribute

Attribut Beschreibung Standard Presence
Name

Gibt den Namen der Zielkontingent-Richtlinie an.

Optional
Ref Eine Ablaufvariable, die den Namen der Zielkontingent-Richtlinie enthält. Wenn sowohl ref als auch Name angegeben sind, hat ref Priorität. Wenn ref zur Laufzeit nicht aufgelöst wird, wird Name verwendet. Optional

<Quota>/<Identifier>-Element

Variable zur eindeutigen Identifizierung des Zählers, wenn in der Zielkontingent-Richtlinie das Tag <Identifier> angegeben ist.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Standard:
Präsenz: Erforderlich
Typ: String

Attribute

Attribut Beschreibung Standard Presence
Name

Gibt den Namen der Zähl-ID in der Zielkontingentrichtlinie an. Geben Sie für eine Kontingentrichtlinie ohne das Tag <Identifier> _Standardeinstellung an.

Optional
Ref

Eine Ablaufvariable, die den Namen der Zählerkennung in der Zielkontingent-Richtlinie enthält. Wenn sowohl ref als auch Name angegeben sind, hat ref Priorität. Wenn ref zur Laufzeit nicht aufgelöst wird, wird Name verwendet.

Optional

<Quota>/<Identifier>/<Allow>-Element

Gibt den Betrag zur Verringerung des Kontingentzählers an. Sie müssen <Allow> angeben. Andernfalls ändert die Richtlinie das Kontingent nicht.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
Standard:
Präsenz: Erforderlich
Typ: Ganzzahl

Attribute

Attribut Beschreibung Standard Presence
Ref

Eine Ablaufvariable, die die Änderung der Kontingentzahl in der Zielkontingent-Richtlinie enthält.

Optional

<Quota>/<Identifier>/<Class>-Element

Gibt die Klasse an, für die der Kontingentzähler aktualisiert wird. Weitere Informationen zur Verwendung einer Klasse mit der Kontingentrichtlinie finden Sie unter Kontingentrichtlinie.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
Standard:
Präsenz: Optional
Typ:

Attribute

Attribut Beschreibung Standard Presence
Ref

Verweis auf die Ablaufvariable, die die zu aktualisierende Kontingentklasse enthält.

Optional

Fehlerreferenz

In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Apigee festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Diese Fehler können bei Ausführung der Richtlinie auftreten.

Fehlercode HTTP-Status Ursache Beheben
policies.resetquota.InvalidRLPolicy 500 Die im Element <Quota> der Richtlinie ResetQuota angegebene Richtlinie Quota ist nicht im API-Proxy definiert und daher während des Ablaufs nicht verfügbar. Das Element <Quota> ist obligatorisch und identifiziert die Zielrichtlinie Quota, deren Zähler anhand der Richtlinie ResetQuota aktualisiert werden soll.
policies.resetquota.FailedToResolveAllowCountRef Der Verweis auf die Variable mit der zulässigen Anzahl im Element <Allow> der Richtlinie kann nicht in einen Wert aufgelöst werden. Dieses Element ist obligatorisch und gibt den Betrag zur Verringerung des Kontingentzählers an.
policies.resetquota.FailedToResolveRLPolicy 500 Die Variable, auf die im Attribut ref im Element <Quota> verwiesen wird, kann nicht aufgelöst werden.

Bereitstellungsfehler

Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.

Fehlername Ursache Beheben
InvalidCount Wenn der im Element <Allow> der ResetQuota-Richtlinie angegebene Zählwert keine Ganzzahl ist, schlägt die Bereitstellung des API-Proxys fehl.

Schemas

Weitere Informationen

Kontingentrichtlinie