Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
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.
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 a seguir descreve atributos comuns a todos os elementos pai de políticas:
Atributo | Descrição | Padrão | Presença |
---|---|---|---|
name |
O nome interno da política. O valor do atributo Opcionalmente, use o elemento |
N/A | Obrigatório |
continueOnError |
Defina como Defina como |
falso | Opcional |
enabled |
Defina como Defina como |
true | Opcional |
async |
Esse atributo está obsoleto. |
falso | Obsoleto |
Elemento <DisplayName>
Use em conjunto com o atributo name
para rotular a política no
editor de proxy da IU de gerenciamento com um nome de linguagem natural diferente.
<DisplayName>Policy Display Name</DisplayName>
Padrão |
N/A Se você omitir esse elemento, será 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 | Presença |
---|---|---|---|
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 | Presença |
---|---|---|---|
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 | Presença |
---|---|---|---|
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 | Presença |
---|---|---|---|
ref |
Referência à variável de fluxo que contém a classe de cota a ser atualizada. |
N/A | Opcional |
Referência de erros
Nesta seção, descrevemos os códigos e as mensagens de erro retornados, além das variáveis de falha definidas pelo Edge quando esta 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 | Corrigir |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | A política de cota especificada no elemento <Quota> da política de redefinição de cota 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 cota de destino cujo contador deve ser atualizado
por meio da política de redefinição de cota. |
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 essa política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCount |
Se o valor de contagem especificado no elemento <Allow> da política de redefinição de cota não for um número inteiro,
a implantação do proxy de API vai falhar.
|
build |