Compartilhar via


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

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.

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