Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APLICA-SE A: Todas as camadas de gerenciamento de API
A rate-limit política evita picos de uso da API por assinatura, limitando a taxa de chamada a um número especificado por um período de tempo especificado. Quando a taxa de chamada é excedida, o chamador recebe um código de status de 429 Too Many Requests resposta.
Para entender a diferença entre limites de taxa e cotas, consulte Limites de taxa e cotas.
Atenção
Devido à natureza distribuída da arquitetura de limitação, a limitação de taxa nunca é completamente precisa. A diferença entre o número configurado de solicitações permitidas e o número real varia dependendo do volume e da taxa de solicitação, da latência de back-end e de outros fatores.
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.
Declaração de política
<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>
Atributos
| Atributo | Descrição | Necessário | Predefinição |
|---|---|---|---|
| Convocatórias | O número total máximo de chamadas permitidas durante o intervalo de tempo especificado em renewal-period. Expressões de política não são permitidas. |
Sim | N/A |
| período de renovação | O comprimento, em segundos, da janela deslizante durante a qual o número de solicitações permitidas não deve exceder o valor especificado em calls. Valor máximo permitido: 300 segundos. Expressões de política não são permitidas. |
Sim | N/A |
| retry-after-header-name | O nome de um cabeçalho de resposta personalizado cujo valor é o intervalo de repetição recomendado em segundos após a taxa de chamada especificada ser excedida. Expressões de política não são permitidas. | Não | Retry-After |
| retry-after-variable-name | O nome de uma variável que armazena o intervalo de repetição recomendado em segundos após a taxa de chamada especificada ser excedida. Expressões de política não são permitidas. | Não | N/A |
| remaining-calls-header-name | O nome de um cabeçalho de resposta cujo valor após cada execução de política é o número de chamadas restantes permitidas para o intervalo de tempo especificado no renewal-period. Expressões de política não são permitidas. |
Não | N/A |
| remaining-calls-variable-name | O nome de uma variável que, após cada execução de política, armazena o número de chamadas restantes permitidas para o intervalo de tempo especificado no renewal-period. Expressões de política não são permitidas. |
Não | N/A |
| total-chamadas-cabeçalho-nome | O nome de um cabeçalho de resposta cujo valor é o valor especificado em calls. Expressões de política não são permitidas. |
Não | N/A |
Elementos
| Elemento | Descrição | Necessário |
|---|---|---|
| Interface de Programação de Aplicações (API) | Adicione um ou mais desses elementos para impor um limite de taxa de chamada às APIs dentro do produto. Os limites de taxa de chamadas de produtos e API são aplicados de forma independente. A API pode ser referenciada via name ou id. Se ambos os atributos forem fornecidos, id serão usados e name serão ignorados. |
Não |
| Funcionamento | Adicione um ou mais desses elementos para impor um limite de taxa de chamada às operações dentro de uma API. Os limites de taxa de chamada de produto, API e operação são aplicados de forma independente. A operação pode ser referenciada via name ou id. Se ambos os atributos forem fornecidos, id serão usados e name serão ignorados. |
Não |
Atributos da API
| Atributo | Descrição | Necessário | Predefinição |
|---|---|---|---|
| nome | O nome da API para a qual aplicar o limite de taxa. | Ou nameid deve ser especificado. |
N/A |
| ID | O ID da API para a qual aplicar o limite de taxa. | Ou nameid deve ser especificado. |
N/A |
| Convocatórias | O número total máximo de chamadas permitidas durante o intervalo de tempo especificado em renewal-period. Expressões de política não são permitidas. |
Sim | N/A |
| período de renovação | O comprimento, em segundos, da janela deslizante durante a qual o número de solicitações permitidas não deve exceder o valor especificado em calls. Valor máximo permitido: 300 segundos. Expressões de política não são permitidas. |
Sim | N/A |
Atributos da operação
| Atributo | Descrição | Necessário | Predefinição |
|---|---|---|---|
| nome | O nome da operação para a qual aplicar o limite de taxa. | Ou nameid deve ser especificado. |
N/A |
| ID | O ID da operação para a qual aplicar o limite de taxa. | Ou nameid deve ser especificado. |
N/A |
| Convocatórias | O número total máximo de chamadas permitidas durante o intervalo de tempo especificado em renewal-period. Expressões de política não são permitidas. |
Sim | N/A |
| período de renovação | O comprimento, em segundos, da janela deslizante durante a qual o número de solicitações permitidas não deve exceder o valor especificado em calls. Valor máximo permitido: 300 segundos. Expressões de política não são permitidas. |
Sim | N/A |
Utilização
- Secções políticas: entrada
- Escopos de política: produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Notas de utilização
- Esta política só pode ser utilizada uma vez por definição de política.
- Esta política só é aplicada quando uma API é acedida utilizando uma chave de subscrição.
- As contagens de limite de taxa em um gateway auto-hospedado podem ser configuradas para sincronizar localmente (entre instâncias de gateway entre nós de cluster), por exemplo, por meio da implantação de gráfico de leme para Kubernetes ou usando os modelos de implantação do portal do Azure. No entanto, as contagens de limite de taxa não são sincronizadas com outros recursos de gateway configurados na instância de Gerenciamento de API, incluindo o gateway gerenciado na nuvem. Mais informações
- Essa política rastreia chamadas independentemente em cada gateway em que é aplicada, incluindo gateways de espaço de trabalho e gateways regionais em uma implantação de várias regiões. Ele não agrega dados de chamada em toda a instância.
Exemplo
No exemplo a seguir, o limite de taxa por assinatura é de 20 chamadas por 90 segundos. Após cada execução de política, as chamadas restantes permitidas no período de tempo são armazenadas na variável remainingCallsPerSubscription.
<policies>
<inbound>
<base />
<rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
Políticas relacionadas
Conteúdos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Política de recompra de parques infantis
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Obtenha assistência do Copilot para criar, explicar e resolver problemas com políticas