Delen via


Gebruiksquotum instellen op sleutel

VAN TOEPASSING OP: Ontwikkelaar | Basic | Standaard | Premie

Het quota-by-key beleid dwingt een volume en/of bandbreedtequotum voor hernieuwbare of levensduur af, per sleutel. De sleutel kan een willekeurige tekenreekswaarde hebben en wordt doorgaans opgegeven met behulp van een beleidsexpressie. Optionele incrementele voorwaarde kan worden toegevoegd om op te geven welke aanvragen moeten worden geteld voor het quotum. Als meerdere beleidsregels dezelfde sleutelwaarde verhogen, wordt deze slechts één keer per aanvraag verhoogd. Wanneer het quotum wordt overschreden, ontvangt de aanroeper een 403 Forbidden antwoordstatuscode en bevat het antwoord een Retry-After header waarvan de waarde het aanbevolen interval voor opnieuw proberen is in seconden.

Zie Frequentielimieten en quota voor meer informatie over het verschil tussen frequentielimieten en quota .

Notitie

Wanneer onderliggende rekenresources opnieuw worden opgestart in het serviceplatform, kan API Management aanvragen gedurende een korte periode blijven verwerken nadat een quotum is bereikt.

Notitie

Stel de elementen en onderliggende elementen van het beleid in de volgorde in die in de beleidsverklaring is opgegeven. Om u te helpen dit beleid te configureren, biedt de portal een begeleide editor op basis van formulieren. Meer informatie over het instellen of bewerken van API Management-beleid.

Beleidsinstructie

<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" />

Kenmerken

Kenmerk Beschrijving Vereist Standaardinstelling
bandwidth Het maximumaantal kilobytes dat is toegestaan tijdens het tijdsinterval dat is opgegeven in de renewal-period. Beleidsexpressies zijn niet toegestaan. Beide calls, bandwidthof beide moeten worden opgegeven. N.v.t.
Oproepen Het maximumaantal aanroepen dat is toegestaan tijdens het tijdsinterval dat is opgegeven in de renewal-period. Beleidsexpressies zijn niet toegestaan. Beide calls, bandwidthof beide moeten worden opgegeven. N.v.t.
tellertoets De sleutel die moet worden gebruikt voor de quota policy. Voor elke sleutelwaarde wordt één teller gebruikt voor alle bereiken waarop het beleid is geconfigureerd. Beleidsexpressies zijn toegestaan. Ja N.v.t.
incrementele voorwaarde De Boole-expressie die aangeeft of de aanvraag moet worden geteld voor het quotum (true). Beleidsexpressies zijn toegestaan. Nee N.v.t.
increment-count Het getal waarmee de teller per aanvraag wordt verhoogd. Beleidsexpressies zijn toegestaan. Nee 1
verlengingsperiode De lengte in seconden van het vaste venster waarna het quotum opnieuw wordt ingesteld. Het begin van elke periode wordt berekend ten opzichte first-period-startvan . Minimumperiode: 300 seconden. Wanneer renewal-period deze is ingesteld op 0, wordt de periode ingesteld op oneindig. Beleidsexpressies zijn niet toegestaan. Ja N.v.t.
eerste periode-begin De begindatum en -tijd voor verlengingsperioden van quota, in de volgende indeling: yyyy-MM-ddTHH:mm:ssZ zoals opgegeven door de ISO 8601-standaard. Beleidsexpressies zijn niet toegestaan. Nee 0001-01-01T00:00:00Z

Gebruik

Gebruiksnotities

De counter-key kenmerkwaarde moet uniek zijn voor alle API's in het API Management-exemplaar als u het totaal niet tussen de andere API's wilt delen.

Opmerking

<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>

Zie Geavanceerde aanvraagbeperking met Azure API Management voor meer informatie en voorbeelden van dit beleid.

Zie voor meer informatie over het werken met beleid: