Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’APPLIQUE À : Tous les niveaux de Gestion des API
La stratégie rate-limit évite les pics d’utilisation des API par abonnement en limitant le débit d’appels à un nombre spécifié pour une période donnée. Lorsque le débit d’appels est atteint, l’appelant reçoit le code d’état de réponse 429 Too Many Requests.
Pour comprendre la différence entre les limites de taux et les quotas, consultez Limites de taux et quotas.
Attention
En raison de la nature distribuée de l’architecture de limitation, la limitation de débit n’est jamais complètement précise. La différence entre le nombre configuré de requêtes autorisées et le nombre réel varie en fonction du volume et du taux de requête, de la latence du back-end et d’autres facteurs.
Notes
Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.
Instruction de la stratégie
<rate-limit calls="number" renewal-period="seconds" retry-after-header-name="custom header name, replaces default 'Retry-After'"
retry-after-variable-name="policy expression variable name"
remaining-calls-header-name="header name"
remaining-calls-variable-name="policy expression variable name"
total-calls-header-name="header name">
<api name="API name" id="API id" calls="number" renewal-period="seconds" >
<operation name="operation name" id="operation id" calls="number" renewal-period="seconds" />
</api>
</rate-limit>
Attributs
| Attribut | Descriptif | Obligatoire | Par défaut |
|---|---|---|---|
| Lync | Nombre maximal d’appels autorisés au cours de l’intervalle de temps spécifié dans renewal-period. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
| période de renouvellement | Durée en secondes de la fenêtre glissante pendant laquelle le nombre de demandes autorisées ne doit pas dépasser la valeur spécifiée dans calls. Valeur maximale autorisée : 300 secondes. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
| retry-after-header-name | Nom d’un en-tête de réponse personnalisé dont la valeur est l’intervalle de tentative recommandé en secondes après dépassement du débit d’appels spécifié. Les expressions de stratégie ne sont pas autorisées. | Non | Retry-After |
| retry-after-variable-name | Le nom d’une variable qui stocke l’intervalle de tentative recommandé, en secondes, après le dépassement de la fréquence d’appels spécifiée. Les expressions de stratégie ne sont pas autorisées. | Non | N/A |
| remaining-calls-header-name | Le nom d’un en-tête de réponse dont la valeur après chaque exécution de stratégie est le nombre d’appels restants autorisés pour l’intervalle de temps spécifié dans le renewal-period. Les expressions de stratégie ne sont pas autorisées. |
Non | N/A |
| restant-calls-variable-name | Le nom d’une variable qui, après l’exécution de chaque stratégie, stocke le nombre d’appels restants autorisés pour l’intervalle de temps spécifié dans le renewal-period. Les expressions de stratégie ne sont pas autorisées. |
Non | N/A |
| total-calls-header-name | Nom d’un en-tête de réponse dont la valeur est la valeur spécifiée dans calls. Les expressions de stratégie ne sont pas autorisées. |
Non | N/A |
Éléments
| Élément | Descriptif | Obligatoire |
|---|---|---|
| API | Ajoutez un ou plusieurs éléments de ce type pour imposer une limite de débit d’appels aux API au sein du produit. Les limites de débit d’appels au niveau du produit et de l’API s’appliquent indépendamment les unes des autres. L’API peut être référencée via name ou id. Si les deux attributs sont fournis, id sera utilisé et name sera ignoré. |
Non |
| opération | Ajoutez un ou plusieurs éléments de ce type pour imposer une limite de débit d’appels aux opérations au sein d’une API. Les limites de débit d’appels au niveau du produit, de l’API et de l’opération s’appliquent indépendamment les unes des autres. L’opération peut être référencée via name ou id. Si les deux attributs sont fournis, id sera utilisé et name sera ignoré. |
Non |
Attributs API
| Attribut | Descriptif | Obligatoire | Par défaut |
|---|---|---|---|
| nom | Nom de l’API à laquelle la limite de débit s’applique. | Soit name, soit id doit être spécifié. |
N/A |
| pièce d'identité | ID de l’API à laquelle la limite de débit s’applique. | Soit name, soit id doit être spécifié. |
N/A |
| Lync | Nombre maximal d’appels autorisés au cours de l’intervalle de temps spécifié dans renewal-period. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
| période de renouvellement | Durée en secondes de la fenêtre glissante pendant laquelle le nombre de demandes autorisées ne doit pas dépasser la valeur spécifiée dans calls. Valeur maximale autorisée : 300 secondes. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
Attributs opération
| Attribut | Descriptif | Obligatoire | Par défaut |
|---|---|---|---|
| nom | Nom de l’opération à laquelle la limitation du débit s’applique. | Soit name, soit id doit être spécifié. |
N/A |
| pièce d'identité | ID de l’opération à laquelle la limitation du débit s’applique. | Soit name, soit id doit être spécifié. |
N/A |
| Lync | Nombre maximal d’appels autorisés au cours de l’intervalle de temps spécifié dans renewal-period. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
| période de renouvellement | Durée en secondes de la fenêtre glissante pendant laquelle le nombre de demandes autorisées ne doit pas dépasser la valeur spécifiée dans calls. Valeur maximale autorisée : 300 secondes. Les expressions de stratégie ne sont pas autorisées. |
Oui | N/A |
Utilisation
- Sections de la stratégie : inbound
- Sections de la stratégie : product, API, operation
- Passerelles : classiques, v2, consommation, auto-hébergées, espace de travail
Notes d’utilisation
- Cette stratégie ne peut être utilisée qu’une seule fois par définition de stratégie.
- Cette stratégie est appliquée uniquement lorsqu’une API est accessible à l’aide d’une clé d’abonnement.
- Dans une passerelle auto-hébergée, les nombres limites de taux peuvent être configurés pour être synchronisés localement (entre les instances de passerelle sur les nœuds de cluster), par exemple par le biais d’un déploiement de graphique Helm pour Kubernetes ou à l’aide des modèles de déploiement du portail Azure. Toutefois, les nombres limites de débit ne se synchronisent pas avec d’autres ressources de passerelle configurées dans l’instance Gestion des API, notamment la passerelle managée dans le cloud. En savoir plus
- Cette stratégie effectue le suivi des appels indépendamment à chaque passerelle où elle est appliquée, y compris les passerelles d’espace de travail et les passerelles régionales dans un déploiement multirégion. Il n’agrège pas les données d’appel sur l’ensemble de l’instance.
Exemple
Dans l’exemple suivant, la limite de débit par abonnement est de 20 appels par 90 secondes. Après chaque exécution de stratégie, les appels restants autorisés durant la période sont stockés dans la variable remainingCallsPerSubscription.
<policies>
<inbound>
<base />
<rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Dépôt de terrain de jeu de stratégie
- Kit de ressources des stratégies Gestion des API Azure
- Obtenez de l’aide de Copilot pour créer, expliquer et dépanner des politiques