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 |