Definir cota de uso por chave

APLICA-SE A: Developer | Básico | Padrão | Prémio

A quota-by-key política impõe um volume de chamadas renovável ou vitalício e/ou uma quota de largura de banda, por chave. A chave pode ter um valor de cadeia arbitrário e é normalmente proporcionada com uma expressão de política. Pode ser acrescentada uma condição de acréscimo opcional para especificar quais os pedidos que devem ser contabilizados para a quota. Se várias políticas incrementarem o mesmo valor de chave, ele será incrementado apenas uma vez por solicitação. Quando a cota é excedida, o chamador recebe um código de 403 Forbidden status de resposta e a resposta inclui um Retry-After cabeçalho cujo valor é o intervalo de repetição recomendado em segundos.

Para entender a diferença entre limites de taxa e cotas, consulte Limites de taxa e cotas.

Nota

Quando os recursos de computação subjacentes são reiniciados na plataforma de serviço, o Gerenciamento de API pode continuar a lidar com solicitações por um curto período após o atingimento de uma cota.

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Para ajudá-lo a configurar essa política, o portal fornece um editor guiado baseado em formulários. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.

Declaração de política

<quota-by-key calls="number"
              bandwidth="kilobytes"
              renewal-period="seconds"
              increment-condition="condition"
              counter-key="key value"
              first-period-start="date-time" />

Atributos

Atributo Description Necessário Predefinição
bandwidth O número total máximo de kilobytes permitido durante o intervalo de tempo especificado no renewal-period. Expressões de política não são permitidas. Ou calls, bandwidth, ou ambos juntos devem ser especificados. N/A
Convocatórias 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. Ou calls, bandwidth, ou ambos juntos devem ser especificados. N/A
contra-chave A chave a ser usada para o quota policy. Para cada valor de chave, um único contador é usado para todos os escopos nos quais a política está configurada. São permitidas expressões de política. Sim N/A
condição de incremento A expressão booleana que especifica se o pedido deve ser contado para a quota (true). São permitidas expressões de política. No N/A
período de renovação 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/A
início-primeiro período A data e hora de início dos períodos de renovação das quotas, no seguinte formato: yyyy-MM-ddTHH:mm:ssZ conforme especificado pela norma ISO 8601. Expressões de política não são permitidas. Não 0001-01-01T00:00:00Z

Utilização

Notas de utilização

O counter-key valor do atributo deve 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 avançada de solicitações com o Gerenciamento de API do Azure.

Para obter mais informações sobre como trabalhar com políticas, consulte: