Definir uma cota de uso por chave
APLICA-SE A: Desenvolvedor | Básico | Standard | Premium
A política quota-by-key
impõe uma cota renovável ou de tempo de vida de volume de chamadas e/ou largura de banda, para cada chave. A chave pode ter um valor de cadeia de caracteres arbitrária e geralmente é fornecida usando uma expressão de política. A condição de incremento opcional pode ser adicionada para especificar quais solicitações devem ser contadas para obtenção da cota. Se várias políticas incrementassem o mesmo valor de chave, ele seria incrementado apenas uma vez por solicitação. Quando a cota é excedida, o chamador recebe um código de status de resposta 403 Forbidden
e a resposta inclui um cabeçalho Retry-After
cujo valor é o intervalo de repetição recomendado em segundos.
Para entender a diferença entre limites e cotas de taxa, confira Limites e cotas de taxa.
Observação
Quando os recursos de computação subjacentes são reiniciados na plataforma de serviço, o Gerenciamento de API pode continuar lidando com solicitações por um curto período depois que uma cota é atingida.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulário. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
Declaração de política
<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" />
Atributos
Atributo | Descrição | Obrigatório | Padrão |
---|---|---|---|
largura de banda | O número total máximo de kilobytes permitidos durante o intervalo de tempo especificado no renewal-period . Expressões de política não são permitidas. |
calls ou bandwidth ou ainda ambos juntos devem ser especificados. |
N/D |
chamadas | O número total máximo de chamadas permitidas durante o intervalo de tempo especificado no renewal-period . Expressões de política não são permitidas. |
calls ou bandwidth ou ainda ambos juntos devem ser especificados. |
N/D |
counter-key | A chave a ser usada para o arquivo quota policy . Para cada valor de chave, um único contador é usado para todos os escopos nos quais a política está configurada. Expressões de política são permitidas. |
Sim | N/D |
increment-condition | A expressão booliana que especifica se a solicitação deve ser contabilizada para a cota (true ). Expressões de política são permitidas. |
No | N/D |
increment-count | O número pelo qual o contador é aumentado por solicitação. Expressões de política são permitidas. | Não | 1 |
renewal-period | O comprimento em segundos da janela fixa após a qual a cota é redefinida. O início de cada período é calculado em relação a first-period-start . Período mínimo: 300 segundos. Quando renewal-period é definido como 0, o período é definido como infinito. Expressões de política não são permitidas. |
Sim | N/D |
início do primeiro período | A data e hora de início dos períodos de renovação de cota, no seguinte formato: yyyy-MM-ddTHH:mm:ssZ conforme especificado pelo padrão ISO 8601. Expressões de política não são permitidas. |
Não | 0001-01-01T00:00:00Z |
Uso
- Seções de política: de entrada
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, auto-hospedado, workspace
Observações de uso
O valor do atributo counter-key
deverá ser exclusivo em todas as APIs na instância de Gerenciamento de API se você não quiser compartilhar o total entre as outras APIs.
Exemplo
<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>
Para obter mais informações e exemplos dessa política, consulte Limitação de solicitação avançada com o Gerenciamento de API do Azure.
Políticas relacionadas
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Kit de ferramentas de políticas do Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure