Esta página aplica-se ao Apigee e ao Apigee Hybrid.
  
    Veja a documentação do 
    Apigee Edge.
  
  
      
 
  
O quê
Use para modificar dinamicamente o número restante de pedidos permitidos pela política de quota de destino. Normalmente, usa esta política para diminuir a contagem de quotas atual da política de quotas de destino, em vez de esperar que a contagem de quotas seja reposta.
Por exemplo, a política de quotas alvo limita um programador a 1000 pedidos por semana. No segundo dia da semana, o programador já atingiu este limite. Use a política Reset Quota para subtrair 500 ao respetivo contador de quotas para permitir 500 pedidos adicionais durante o resto da semana. No final da semana, a política de quotas é reposta e o programador volta a ter 1000 pedidos para a semana.
Esta política é uma política extensível e a utilização desta política pode ter implicações de custo ou utilização, consoante a sua licença do Apigee. Para ver informações sobre os tipos de políticas e as implicações de utilização, consulte Tipos de políticas.
Consulte a Política de Quotas para saber mais sobre a Política de Quotas. Consulte também esta publicação da comunidade sobre a utilização da política de reposição de quotas.
Amostras
Estes exemplos de código de políticas ilustram como repor os contadores de quotas:
Repor contador predefinido
<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>A política Reset Quota especifica a política Quota de destino através do atributo name da etiqueta <Quota>. No exemplo acima, a política MyQuotaPolicy é o destino.
Todas as políticas de reposição de quota requerem a etiqueta <Identifier> para especificar o contador na política de quota a atualizar. Por predefinição, uma política de quotas tem um único contador, a menos que a política de quotas também inclua a etiqueta <Identifier>. Neste exemplo, a política de quota de destino não usa a etiqueta <Identifier>, pelo que especifica o atributo name como _default.
O elemento <Allow> especifica o valor usado para diminuir a contagem atual da quota na política de destino. Neste exemplo, a contagem da quota é reduzida em 100, o que permite mais 100 pedidos à política de quota de destino. Quando a política de quota de destino é reposta, esta alteração é rejeitada.
Abaixo, encontra a definição da política de quotas alvo:
<Quota name="MyQuotaPolicy"> <Interval>5</Interval> <TimeUnit>hour</TimeUnit> <Allow count="100"/> </Quota>
Use uma referência
<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>Neste exemplo, transmite o nome da política de quotas de destino e a alteração à respetiva contagem de quotas como cabeçalhos no pedido. Em seguida, pode fazer referência às variáveis de fluxo que contêm estes valores na política de reposição de quota.
Especifique o identificador
<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>Se a política de quota de destino especificar a etiqueta <Identifier>, pode especificar o mesmo valor para a etiqueta <Identifier> da política de reposição de quota para atualizar uma contagem de quota específica. Repare como a etiqueta <Identifier> na política de quota de destino abaixo corresponde ao valor especificado para a política de quota de reposição:
<Quota name="QuotaPolicy"> <Identifier ref="request.header.clientId"/> <Interval>5</Interval> <TimeUnit>hour</TimeUnit> <Allow count="100"/> </Quota>
Referência do elemento
A referência do elemento descreve os elementos e os atributos da política de reposição de quotas.
<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 <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  Opcionalmente, use o elemento   | 
        N/A | Obrigatória | 
continueOnError | 
        
           Definido como  Definido como   | 
        falso | Opcional | 
enabled | 
        
           Defina como  Defina como   | 
        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   | 
      
|---|---|
| Presença | Opcional | 
| Tipo | String | 
Elemento <Quota>
Identifica a política de quotas 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>| Predefinição: | N/A | 
| Presença: | Obrigatória | 
| Tipo: | N/A | 
Atributos
| Atributo | Descrição | Predefinição | Presença | 
|---|---|---|---|
| nome | 
           Especifica o nome da política de quotas de destino.  | 
        N/A | Opcional | 
| ref | Uma variável de fluxo que contém o nome da política de quotas de destino. Se ref e name forem especificados, ref tem prioridade. Se ref não for resolvido no momento da execução, é usado name. | N/A | Opcional | 
Elemento <Quota>/<Identifier>
Variável usada para identificar exclusivamente o contador se a política de quota de destino especificar a etiqueta <Identifier>.
<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>| Predefinição: | N/A | 
| Presença: | Obrigatória | 
| Tipo: | String | 
Atributos
| Atributo | Descrição | Predefinição | Presença | 
|---|---|---|---|
| nome | 
           Especifica o nome do identificador de contagem na política de quotas de destino. Para uma política de quota que não use a etiqueta <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 quota de destino. Se ref e name forem especificados, ref tem prioridade. Se ref não for resolvido no momento da execução, é usado name.  | 
        N/A | Opcional | 
Elemento <Quota>/<Identifier>/<Allow>
Especifica o valor para diminuir o contador de quota. Tem de especificar <Allow>. Caso contrário, a política não modifica a quota.
<Identifier name="identifierName" ref="request.header.identifier"> <Allow ref="request.header.allowquota">100</Allow> </Identifier>
| Predefinição: | N/A | 
| Presença: | Obrigatória | 
| Tipo: | Número inteiro | 
Atributos
| Atributo | Descrição | Predefinição | Presença | 
|---|---|---|---|
| ref | 
           Uma variável de fluxo que contém a alteração à contagem de quotas na política de quotas de destino.  | 
        N/A | Opcional | 
Elemento <Quota>/<Identifier>/<Class>
Especifica a classe para a qual o contador de quota é atualizado. Para mais informações sobre a utilização da classe com a política de quotas, consulte o artigo Política de quotas.
<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>| Predefinição: | N/A | 
| Presença: | Opcional | 
| Tipo: | N/A | 
Atributos
| Atributo | Descrição | Predefinição | Presença | 
|---|---|---|---|
| ref | 
           Referência à variável de fluxo que contém a classe de quota a atualizar.  | 
        N/A | Opcional | 
Referência de erro
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. | 
        build | 
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. | 
        build | 
policies.resetquota.FailedToResolveRLPolicy | 
        500 | 
        Não é possível resolver a variável referenciada pelo atributo ref no elemento <Quota>. | 
                build | 
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.
         | 
        build |