Política ResetQuota

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Ícone da política

O que

Use para modificar dinamicamente o número restante de solicitações permitidas pela política de cotas de destino. Normalmente, essa política é usada para reduzir a contagem atual de cotas da política de cotas de destino, em vez de aguardar a redefinição da contagem de cotas.

Por exemplo, a política de cotas de destino limita um desenvolvedor a 1.000 solicitações por semana. No segundo dia da semana, o desenvolvedor já atingiu esse limite. Use a política Reset Quota para subtrair 500 do contador de cotas para permitir mais 500 solicitações para o restante da semana. No final da semana, a política de cotas é redefinida, e o desenvolvedor retorna a 1.000 solicitações da semana.

Esta é uma política extensível. O uso dela pode ter implicações no custo ou na utilização, dependendo da sua licença da Apigee. Para informações sobre tipos de política e implicações de uso, consulte Tipos de política.

Consulte Política de cotas para saber mais sobre a política de cotas. Consulte também esta postagem da comunidade (em inglês) sobre como usar a política de redefinição de cota.

Amostras

Estes exemplos de código de política mostram como redefinir contadores de cotas:

Redefinir contador padrão

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

A política Reset Quota especifica a política de cotas de destino usando o atributo name da tag <Quota>. No exemplo acima, a política MyQuotaPolicy é o destino.

Todas as políticas de redefinição de cota exigem que a tag <Identifier> especifique o contador na política de cotas a ser atualizada. Por padrão, uma política de cotas tem um único contador, a menos que a política de cotas também inclua a tag <Identifier>. Neste exemplo, a política de cota de destino não usa a tag <Identifier>. Portanto, você especifica o atributo name como _default.

O elemento <Allow> especifica o valor usado para diminuir a contagem de cotas atual na política de destino. Neste exemplo, a contagem de cota é reduzida em 100 para permitir 100 solicitações a mais na política de cota de destino. Quando a política de cotas de destino for redefinida, essa alteração será descartada.

Veja abaixo a definição da política de cotas de destino:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Usar uma referência

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

Neste exemplo, você transmite o nome da política de cotas de destino e a alteração para sua contagem de cotas, como cabeçalhos na solicitação. Em seguida, você pode referenciar as variáveis de fluxo que contêm esses valores na política de redefinição de cota.

Especificar o identificador

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Se a política de cota de destino especificar a tag <Identifier>, será possível especificar o mesmo valor para a tag <Identifier> da política Reset Quota para atualizar uma contagem específica de cotas. Observe como a tag <Identifier> na política de cotas de destino abaixo corresponde ao valor especificado na política de redefinição de cota:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Referência de elemento

A referência de elemento descreve os elementos e atributos da política Reset Quota.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Atributos de <ResetQuota>

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

A tabela seguinte descreve os atributos comuns a todos os elementos principais de políticas:

Atributo Descrição Predefinição Presença
name

O nome interno da política. O valor do atributo name pode conter letras, números, espaços, hífenes, sublinhados e pontos finais. Este valor não pode exceder 255 carateres.

Opcionalmente, use o elemento <DisplayName> para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.

N/A Obrigatória
continueOnError

Definido como false para devolver um erro quando uma política falha. Este comportamento é o esperado para a maioria das políticas.

Definido como true para que a execução do fluxo continue mesmo depois de uma política falhar. Veja também:

falso Opcional
enabled

Defina como true para aplicar a política.

Defina como false para desativar a política. A política não é aplicada, mesmo que permaneça associada a um fluxo.

verdadeiro Opcional
async

Este atributo foi descontinuado.

falso Descontinuado

Elemento <DisplayName>

Use em conjunto com o atributo name para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.

<DisplayName>Policy Display Name</DisplayName>
Predefinição

N/A

Se omitir este elemento, é usado o valor do atributo name da política.

Presença Opcional
Tipo String

Elemento <Quota>

Identifica a política de cota de destino cujo contador deve ser atualizado.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Padrão: N/A
Presença: Obrigatório
Tipo: N/A

Atributos

Atributo Descrição Padrão Presence
name

Especifica o nome da política de cotas de destino.

N/A Opcional
ref Uma variável de fluxo que contém o nome da política de cotas de destino. Se ref e name forem especificados, ref terá prioridade. Se ref não for resolvido no ambiente de execução, name será usado. N/A Opcional

Elemento <Quota>/<Identifier>

Variável usada para identificar exclusivamente o contador se a política de cota de destino especificar a tag <Identifier>.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Padrão: N/A
Presença: Obrigatório
Tipo: String

Atributos

Atributo Descrição Padrão Presence
name

Especifica o nome do identificador de contagem na política de cotas de destino. Para uma política de cotas que não use a tag <Identifier>, especifique _default.

N/A Opcional
ref

Uma variável de fluxo que contém o nome do identificador de contagem na política de cotas de destino. Se ref e name forem especificados, ref terá prioridade. Se ref não for resolvido no ambiente de execução, name será usado.

N/A Opcional

Elemento <Quota>/<Identifier>/<Allow>

Especifica o valor para diminuir o contador da cota. Você precisa especificar <Allow>. Caso contrário, a política não modificará a cota.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
Padrão: N/A
Presença: Obrigatório
Tipo: Número inteiro

Atributos

Atributo Descrição Padrão Presence
ref

Uma variável de fluxo que contém a alteração na contagem da cota na política de cotas de destino.

N/A Opcional

Elemento <Quota>/<Identifier>/<Class>

Especifica a classe para a qual o contador de cotas é atualizado. Para saber mais sobre como usar a classe com a política de cotas, consulte Política de cotas.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
Padrão: N/A
Presença: Opcional
Tipo: N/A

Atributos

Atributo Descrição Padrão Presence
ref

Referência à variável de fluxo que contém a classe de cota a ser atualizada.

N/A Opcional

Referência de erros

Esta secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.

Erros de tempo de execução

Estes erros podem ocorrer quando a política é executada.

Código de falha Estado de HTTP Causa Corrigir
policies.resetquota.InvalidRLPolicy 500 A política Quota especificada no elemento <Quota> da política ResetQuota não está definida no proxy da API e, por isso, não está disponível durante o fluxo. O elemento <Quota> é obrigatório e identifica a política Quota de destino cujo contador deve ser atualizado através da política ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef N/A Não é possível resolver a referência à variável que contém a contagem permitida no elemento <Allow> da política para um valor. Este elemento é obrigatório e especifica o valor para diminuir o contador de quotas.
policies.resetquota.FailedToResolveRLPolicy 500 Não é possível resolver a variável referenciada pelo atributo ref no elemento <Quota>.

Erros de implementação

Estes erros podem ocorrer quando implementa um proxy que contém esta política.

Nome do erro Causa Corrigir
InvalidCount Se o valor de contagem especificado no elemento <Allow> da política ResetQuota não for um número inteiro, a implementação do proxy de API falha.

Esquemas

Temas relacionados

Política de cotas