Nutzungskontingent nach Schlüssel festlegen
GILT FÜR: Developer | Basic | Standard | Premium
Die quota-by-key
-Richtlinie erzwingt ein erneuerbares oder für die Lebensdauer gültiges Aufruf- und/oder Bandbreitenkontingent pro Schlüssel. Der Schlüssel kann einen beliebigen Zeichenfolgenwert aufweisen und wird in der Regel über einen Richtlinienausdruck angegeben. Optional kann eine inkrementelle Bedingung hinzugefügt werden, um anzugeben, welche Anforderungen für das Kontingent gezählt werden sollen. Wenn der gleiche Schlüsselwert durch mehrere Richtlinien erhöht würde, erfolgt nur eine Erhöhung pro Anforderung. Wenn das Kontingent überschritten wird, erhält der Anrufer einen 403 Forbidden
Statuscode als Antwort. Und die Antwort enthält eine Retry-After
Kopfzeile, deren Wert das empfohlene Wiederholungsintervall in Sekunden ist.
Informationen zu den Unterschieden zwischen Ratenbegrenzungen und Kontingenten finden Sie unter Ratenbegrenzungen und Kontingente.
Hinweis
Wenn zugrunde liegende Computeressourcen auf der Dienstplattform neu gestartet werden, kann API Management auch nach Erreichen eines Kontingents noch für kurze Zeit Anforderungen verarbeiten.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Das Portal unterstützt Sie bei der Konfiguration dieser Richtlinie durch einen formularbasierten, angeleiteten Editor. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<quota-by-key calls="number"
bandwidth="kilobytes"
renewal-period="seconds"
increment-condition="condition"
increment-count="number"
counter-key="key value"
first-period-start="date-time" />
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
bandwidth | Die maximale Gesamtanzahl von Kilobytes, die während des in der renewal-period angegebenen Zeitraums zulässig sind. Richtlinienausdrücke sind nicht zulässig. |
Es müssen entweder calls oder bandwidth oder beide Attribute zusammen angegeben werden. |
– |
calls | Die maximale Gesamtanzahl von Aufrufen, die während des in der renewal-period angegebenen Zeitraums zulässig sind. Richtlinienausdrücke sind nicht zulässig. |
Es müssen entweder calls oder bandwidth oder beide Attribute zusammen angegeben werden. |
– |
counter-key | Der für quota policy zu verwendende Schlüssel. Für jeden Schlüsselwert wird ein einzelner Indikator für alle Bereiche verwendet, in denen die Richtlinie konfiguriert ist. Richtlinienausdrücke sind zulässig. |
Ja | – |
increment-condition | Der boolesche Ausdruck, der angibt, ob die Anforderung für das Kontingent gezählt werden soll (true ). Richtlinienausdrücke sind zulässig. |
Nein | – |
increment-count | Die Zahl, um die der Zähler pro Anforderung erhöht wird. Richtlinienausdrücke sind zulässig. | Nein | 1 |
renewal-period | Die Länge des festen Fensters in Sekunden, nach dem die Quote zurückgesetzt wird. Der Beginn eines jeden Zeitraums wird relativ zu berechnet first-period-start . Mindestzeitraum: 300 Sekunden. Wenn der Wert renewal-period auf 0 gesetzt ist, wird der Zeitraum auf „Unendlich“ festgelegt. Richtlinienausdrücke sind nicht zulässig. |
Ja | – |
first-period-start | Das Startdatum und die Startzeit für die Zeiträume zur Kontingentverlängerung im folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß ISO 8601-Standard. Richtlinienausdrücke sind nicht zulässig. |
Nein | 0001-01-01T00:00:00Z |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, selbstgehostet, Arbeitsbereich
Hinweise zur Verwendung
Der counter-key
-Attributwert muss für alle APIs in der API Management-Instanz eindeutig sein, wenn Sie den Gesamtwert nicht gemeinsam mit den weiteren APIs verwenden möchten.
Beispiel
<policies>
<inbound>
<base />
<quota-by-key calls="10000" bandwidth="40000" renewal-period="3600"
increment-condition="@(context.Response.StatusCode >= 200 && context.Response.StatusCode < 400)"
counter-key="@(context.Request.IpAddress)" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Weitere Informationen und Beispiele zu dieser Richtlinie finden Sie unter Erweiterte Anforderungsbegrenzung mit Azure API Management.
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Azure API Management-Richtlinientoolkit
- Erstellen von Richtlinien mit Microsoft Copilot in Azure