Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
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 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 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 . |
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 |