Ange användningskvot efter nyckel

GÄLLER FÖR: Utvecklare | Grundläggande | Standard | Premium

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"
              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, bandwidtheller 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, bandwidtheller 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
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

Användning

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.

Mer information om hur du arbetar med principer finns i: