<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
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.
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 | Präsenz |
|---|---|---|---|
name |
Der interne Name der Richtlinie. Der Wert des Attributs Optional können Sie das Element |
– | Erforderlich |
continueOnError |
Legen Sie Legen Sie |
false | Optional |
enabled |
Setzen Sie den Wert auf Legen Sie |
true | Optional |
async |
Dieses Attribut wurde verworfen. |
false | Veraltet |
<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>
| Standardeinstellung |
– Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs |
|---|---|
| Präsenz | 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 | Präsenz |
|---|---|---|---|
| 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 | Präsenz |
|---|---|---|---|
| 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 | Präsenz |
|---|---|---|---|
| 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 | Präsenz |
|---|---|---|---|
| Ref |
Verweis auf die Ablaufvariable, die die zu aktualisierende Kontingentklasse enthält. |
– | Optional |
Fehlerreferenz
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | The Quota policy specified in the <Quota> element of the Reset Quota policy
is not defined in the API proxy and thus is not available during the flow. The <Quota>
element is mandatory and identifies the target Quota policy whose counter should be updated
through the Reset Quota policy. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | The reference to the variable containing the allow count in the <Allow> element
of the policy cannot be resolved to a value. This element is mandatory and specifies the amount
to decrease the quota counter. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | The variable referenced by the ref attribute in the <Quota> element
cannot be resolved. |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidCount |
If the count value specified in the <Allow> element of the Reset Quota Policy is not an integer,
then the deployment of the API proxy fails.
|
build |