Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Use a política ResetQuota 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 de reposição de quotas para subtrair 500 ao respetivo contador de quotas, de modo a 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 quotas requerem a etiqueta <Identifier> para especificar o contador na política de quotas 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 quota 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 forem especificados ref e name, ref tem prioridade. Se ref não for resolvido no tempo de 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 seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
| Código de falha | Status HTTP | Causa | Correção |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
A política Quota especificada no elemento <Quota> da política ResetQuota não é definida no proxy da API e, portanto, não está disponível durante o fluxo. O elemento <Quota> é obrigatório e identifica a política de destino Quota cujo contador deve ser atualizado por meio da política ResetQuota. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | Não é possível resolver o valor da referência na variável que contém a contagem de permissões no elemento <Allow>
da política. Esse elemento é obrigatório e especifica o valor
para diminuir o contador de cotas. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
A variável referenciada pelo atributo ref no elemento <Quota> não pode
ser resolvida. |
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
| Nome do erro | Causa | Correção |
|---|---|---|
InvalidCount |
Se o valor de contagem especificado no elemento <Allow> da política ResetQuota não for um número inteiro, a implantação do proxy da API falhará.
|
build |