Impostare la quota di utilizzo in base alla chiave
SI APPLICA A: Sviluppatore | Basic | Standard | Premium
Il criterio quota-by-key
consente di applicare una quota rinnovabile o permanente per il volume di chiamate e/o per la larghezza di banda, per chiave. La chiave può avere un valore di stringa arbitrario e viene indicata in genere usando un'espressione di criteri. Per specificare le richieste da considerare nella quota, è possibile aggiungere una condizione opzionale di incremento. Se più criteri incrementano lo stesso valore della chiave, quest'ultimo viene incrementato solo una volta per richiesta. Quando viene superata la quota, il chiamante riceve un codice di stato della risposta 403 Forbidden
e la risposta include un'intestazione Retry-After
il cui valore è l'intervallo di tentativi consigliato in secondi.
Per comprendere la differenza tra limiti di velocità e quote, vedere Limiti di frequenza e quote.
Nota
Quando le risorse di calcolo sottostanti si riavviano nella piattaforma del servizio, API Management può continuare a gestire le richieste per un breve periodo dopo il raggiungimento di una quota.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Per configurare questo criterio, il portale fornisce un editor guidato basato su moduli. Altre informazioni su come impostare o modificare i criteri di API Management.
Istruzione del criterio
<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" />
Attributi
Attributo | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
bandwidth | Il numero totale massimo di kilobyte consentiti durante l'intervallo di tempo specificato in renewal-period . Le espressioni di criteri non sono consentite. |
Devono essere specificati calls , bandwidth o entrambi. |
N/D |
calls | Il numero totale massimo di chiamate consentite durante l'intervallo di tempo specificato in renewal-period . Le espressioni di criteri non sono consentite. |
Devono essere specificati calls , bandwidth o entrambi. |
N/D |
counter-key | Chiave da usare per quota policy . Per ogni valore di chiave, viene usato un singolo contatore per tutti gli ambiti in cui è configurato il criterio. Le espressioni di criteri sono consentite. |
Sì | N/D |
increment-condition | Espressione booleana che specifica se la richiesta deve essere conteggiata ai fini della quota (true ). Le espressioni di criteri sono consentite. |
No | N/D |
increment-count | Numero in base al quale il contatore subisce un incremento per richiesta. Le espressioni di criteri sono consentite. | No | 1 |
renewal-period | Lunghezza in secondi della finestra fissa dopo la quale viene reimpostata la quota. L'inizio di ogni periodo viene calcolato in relazione a first-period-start . Periodo minimo: 300 secondi. Quando renewal-period è impostato su 0, il periodo viene impostato su infinito. Le espressioni di criteri non sono consentite. |
Sì | N/D |
first-period-start | Data e ora di inizio per i periodi di rinnovo della quota, nel formato seguente: yyyy-MM-ddTHH:mm:ssZ , come specificato dallo standard ISO 8601. Le espressioni di criteri non sono consentite. |
No | 0001-01-01T00:00:00Z |
Utilizzo
- Sezioni del criterio: inbound
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, self-hosted, area di lavoro
Note sull'utilizzo
Il valore dell'attributo counter-key
deve essere univoco in tutte le API nell'istanza di API Management se non si desidera condividere il totale tra le altre API.
Esempio
<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>
Per altre informazioni ed esempi su questo criterio, vedere Advanced request throttling with Azure API Management (Limitazione avanzata delle richieste con Gestione API di Azure).
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri usando Microsoft Copilot in Azure