Ange användningskvot efter nyckel
GÄLLER FÖR: Utvecklare | Grundläggande | Standard | Premie
Principen quota-by-key
framtvingar en kvot för samtalsvolym och/eller bandbredd per nyckel som kan förnyas eller livslängd. Nyckeln kan ha ett godtyckligt strängvärde och tillhandahålls vanligtvis med hjälp av ett principuttryck. Valfritt inkrementsvillkor kan läggas till för att ange vilka begäranden som ska räknas mot kvoten. Om flera principer skulle öka samma nyckelvärde ökas det bara en gång per begäran. När kvoten överskrids får anroparen en 403 Forbidden
svarsstatuskod och svaret innehåller en Retry-After
rubrik vars värde är det rekommenderade återförsöksintervallet i sekunder.
Information om skillnaden mellan hastighetsgränser och kvoter finns i Hastighetsgränser och kvoter.
Kommentar
När underliggande beräkningsresurser startas om på tjänstplattformen kan API Management fortsätta att hantera begäranden under en kort period efter att en kvot har nåtts.
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. För att hjälpa dig att konfigurera den här principen tillhandahåller portalen en guidad, formulärbaserad redigerare. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<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" />
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
bandwidth | Det maximala totala antalet kilobyte som tillåts under tidsintervallet som anges i renewal-period . Principuttryck tillåts inte. |
Antingen calls , bandwidth eller båda tillsammans måste anges. |
Ej tillämpligt |
Samtal | Det maximala totala antalet anrop som tillåts under tidsintervallet som anges i renewal-period . Principuttryck tillåts inte. |
Antingen calls , bandwidth eller båda tillsammans måste anges. |
Ej tillämpligt |
counter-key | Nyckeln som ska användas för quota policy . För varje nyckelvärde används en enskild räknare för alla omfång där principen har konfigurerats. Principuttryck tillåts. |
Ja | Ej tillämpligt |
increment-condition | Det booleska uttrycket som anger om begäran ska räknas mot kvoten (true ). Principuttryck tillåts. |
Nej | Ej tillämpligt |
increment-count | Antalet som räknaren ökas med per begäran. Principuttryck tillåts. | Nej | 1 |
förnyelseperiod | Längden i sekunder för det fasta fönstret varefter kvoten återställs. Början av varje period beräknas i förhållande till first-period-start . Minsta period: 300 sekunder. När renewal-period är inställt på 0 är perioden inställd på oändlig. Principuttryck tillåts inte. |
Ja | Ej tillämpligt |
första periodens start | Startdatum och tid för kvotförnyelseperioder i följande format: yyyy-MM-ddTHH:mm:ssZ enligt ISO 8601-standarden. Principuttryck tillåts inte. |
Nej | 0001-01-01T00:00:00Z |
Förbrukning
- Principavsnitt: inkommande
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, lokalt installerad, arbetsyta
Användningsanteckningar
Attributvärdet counter-key
måste vara unikt för alla API:er i API Management-instansen om du inte vill dela summan mellan de andra API:erna.
Exempel
<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>
Mer information och exempel på den här principen finns i Avancerad begränsning av begäranden med Azure API Management.
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure