Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
InvalidQuotaInterval
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] Invalid quota interval [interval] in quota policy [policy_name].
Mensagem de erro de exemplo
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
Captura de ecrã de exemplo
Causa
Se o intervalo de quota especificado no elemento <Interval>
da política de quotas não for um número inteiro, a implementação do proxy de API falha.
Por exemplo, se o intervalo de quota especificado for 0,1 no elemento <Interval>
de uma política de quotas, a implementação do proxy de API falha.
Diagnóstico
Identifique a política de quotas onde ocorreu o erro e o intervalo de quotas inválido. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Quota-1
e o intervalo de quota inválido é0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
Verifique se o valor do intervalo de quota especificado na política de quota com falha corresponde ao valor identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica o valor do intervalo da quota como
0.1
, que corresponde ao que está na mensagem de erro:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>0.1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
Se o intervalo de quota especificado não for um número inteiro, essa é a causa do erro.
No exemplo da política de quotas apresentado acima, o valor do intervalo de quotas é 0,1, que não é um número inteiro. Por conseguinte, a implementação do proxy de API falha com o erro:
Invalid quota interval 0.1 in quota policy Quota-1.
Resolução
Certifique-se de que o valor do intervalo de quota especificado no elemento <Interval>
da política de quotas é um número inteiro. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidQuotaTimeUnit
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] Invalid quota interval time unit [time_unit] in quota policy [policy_name] in Revision [revision_number] of application [proxy_name], in organization [org_name].
Mensagem de erro de exemplo
Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Captura de ecrã de exemplo
Causa
Se a unidade de tempo especificada no elemento <TimeUnit>
da política de quota não for suportada, a implementação do proxy de API falha.
As unidades de tempo suportadas são minute
, hour
, day
, week
e month
.
Por exemplo, se a unidade de tempo for especificada como year
no elemento <TimeUnit>
da política de quotas, a implementação do proxy de API falha.
Diagnóstico
Identifique a política de quotas onde ocorreu o erro e a unidade de tempo inválida. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Quota-1
e a unidade de tempo inválida éyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Verifique se a unidade de tempo especificada no elemento
<TimeUnit>
da política de quotas corresponde à unidade de tempo identificada na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica o valor do intervalo da quota comoyear
, que corresponde ao que está na mensagem de erro:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>year</TimeUnit> </Quota>
Se a unidade de tempo especificada na política de quotas não for suportada, essa é a causa do erro.
No exemplo de política de quota apresentado acima, a unidade de tempo é especificada como
year
, que não é suportada. Por conseguinte, a implementação do proxy de API falha com o erro:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Resolução
Certifique-se de que a unidade de tempo especificada no elemento <TimeUnit>
da política de quotas é suportada. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>month</TimeUnit> </Quota>
InvalidQuotaType
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] No enum constant com.apigee.quota.types.QuotaType.[type].
Mensagem de erro de exemplo
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
Captura de ecrã de exemplo
Causa
Se o tipo da quota especificada pelo atributo type
no elemento <Quota>
do elemento Quota policy for inválido, a implementação do proxy de API falha.
Os tipos de quotas suportados são default
, calendar
, flexi
e rollingwindow
.
Por exemplo, se o tipo da política especificado como window
no elemento <Quota>
da política de quotas, a implementação do proxy de API falha.
Diagnóstico
Identifique o tipo de quota inválido usado na política de quotas. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, o tipo de política inválido é
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType.window.
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quotas em que o tipo de quota especificado no elemento
<Quota>
corresponda ao tipo não suportado identificado no passo n.º 1 acima, essa é a causa do erro.Por exemplo, a política seguinte especifica o tipo como
window
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="window"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
Uma vez que o atributo type está definido como
window
, que não é suportado, a implementação do proxy de API falha com o erro:No enum constant com.apigee.quota.types.QuotaType.window.
Resolução
Certifique-se de que o tipo de quota especificado pelo atributo type
no elemento <Quota>
da política de quotas é suportado. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="rollingwindow"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
InvalidStartTime
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Mensagem de erro de exemplo
Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Captura de ecrã de exemplo
Causa
Se o formato da hora especificada no elemento <StartTime>
da política de quotas for inválido, a implementação do proxy de API falha.
O formato válido é yyyy-MM-dd HH:mm:ss
, que é o formato de data e hora ISO 8601.
Por exemplo, se a hora especificada no elemento <StartTime>
da política de quota for 7-16-2017 12:00:00
, a implementação do proxy de API falha.
Diagnóstico
Identifique a hora de início inválida especificada na política de quotas. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, a hora de início inválida é
7-16-2017 12:00:00
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quotas em que o valor especificado no elemento
<StartTime>
corresponda à hora de início inválida identificada no passo n.º 1 acima, essa é a causa do erro.Por exemplo, a política seguinte especifica o tipo como
7-16-2017 12:00:00
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>7-16-2017 12:00:00</StartTime> </Quota>
Uma vez que o valor definido para
<StartTime>
está definido como7-16-2017 12:00:00
, que não está de acordo com o formato de data/hora necessário, a implementação do proxy de API falha com o erro:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Resolução
Certifique-se de que o formato da hora de início especificado no elemento <StartTime>
da política de quotas é válido de acordo com o formato necessário yyyy-MM-dd HH:mm:ss
. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
StartTimeNotSupported
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.
Mensagem de erro de exemplo
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Captura de ecrã de exemplo
Causa
Se o elemento <StartTime>
for especificado numa política de quota cujo tipo de quota não seja do tipo de calendário, a implementação do proxy de API falha.
O elemento <StartTime>
só é suportado para o tipo de quota calendar
.
Por exemplo, se o atributo type
estiver definido como flexi
ou rolling window
no elemento <Quota>
da política de quotas, a implementação do proxy de API falha.
Diagnóstico
Identifique o tipo de quota especificado na política de quotas com falhas. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, a hora de início inválida é
flexi
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quotas em que o atributo de tipo especificado corresponda ao tipo de quota identificado no passo n.º 1 acima e o elemento
<StartTime>
for especificado, essa é a causa do erro.Por exemplo, a política seguinte especifica o tipo de quota como
flexi
, que corresponde ao que está na mensagem de erro, e também especifica o elemento<StartTime>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
Uma vez que o elemento
<StartTime>
é especificado na política de quotas cujo tipo de quota é especificado comoflexi
, a implementação do proxy de API falha com o erro:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Resolução
Certifique-se de que o elemento <StartTime>
não é especificado quando o tipo de quota indicado pelo atributo type
no elemento <Quota>
é flexi
ou rolling window
. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidTimeUnitForDistributedQuota
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision number] Invalid timeunit second for distributed quota.
Mensagem de erro de exemplo
Error Saving Revision 1
Invalid timeunit second for distributed quota.
Captura de ecrã de exemplo
Causa
Se o elemento <Distributed>
estiver definido como true
e o elemento <TimeUnit>
estiver definido como second
, a implementação do proxy de API falha. A unidade de tempo second
é inválida para uma quota distribuída.
Quando o elemento Distributed
está definido como true
, a política deve manter um contador central e sincronizá-lo continuamente em todos os processadores de mensagens. Por conseguinte, seria difícil sincronizar e também verificar se o número de pedidos não excedeu a quota especificada num curto intervalo de tempo, como segundos. Por este motivo, a unidade de tempo second
é considerada inválida para a quota distribuída.
Diagnóstico
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quota com um elemento <TimeUnit>
definido como second
e o elemento <Distributed>
estiver definido como true
, essa é a causa do erro.
Por exemplo, a política abaixo tem um elemento <TimeUnit>
definido como second
e o elemento <Distributed>
está definido como true
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>second</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
Resolução
Certifique-se de que o elemento <TimeUnit>
nunca está definido como second
quando o elemento <Distributed>
está definido como verdadeiro. O elemento <TimeUnit>
pode ser definido para qualquer um dos outros valores permitidos: minute, hour, day, week,
ou month
. Por exemplo:
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>hour</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
InvalidSynchronizeIntervalForAsyncConfiguration
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision number] SyncIntervalInSeconds should be a value greater than zero.
Mensagem de erro de exemplo
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
Captura de ecrã de exemplo
Causa
Se o valor especificado para o elemento <SyncIntervalInSeconds>
no elemento <AsynchronousConfiguration>
numa política de quota for inferior a zero, a implementação do proxy de API falha.
Diagnóstico
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quotas em que o elemento <SyncIntervalInSeconds>
esteja definido para um valor inferior a zero, no elemento <AsynchronousConfiguration>
, essa é a causa do erro.
Por exemplo, a política abaixo tem um valor negativo especificado para o elemento <SyncIntervalInSeconds>
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>-1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Resolução
Certifique-se de que especifica sempre um número inteiro positivo para o elemento <SyncIntervalInSeconds>
no elemento <AsynchronousConfiguration>
numa política de quotas. Por exemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>5</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
InvalidAsynchronizeConfigurationForSynchronousQuota
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision number] AsynchronousConfiguration is not valid for synchronous quota.
Mensagem de erro de exemplo
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
Captura de ecrã de exemplo
Causa
Se o valor do elemento <Synchronous>
estiver definido como true
numa política de quotas, que também tem uma configuração assíncrona definida através do elemento <AsynchronousConfiguration>
, a implementação do proxy de API falha.
Diagnóstico
Examine todas as políticas de quotas no proxy de API específico onde ocorreu a falha. Se existir alguma política de quotas em que o elemento <Synchronous>
esteja definido como true
e também tenha um elemento <AsynchronousConfiguration>
definido, essa é a causa do erro.
Por exemplo, a política abaixo tem um elemento <Synchronous>
definido como true
e também tem um elemento <AsynchronousConfiguration>
definido:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Resolução
Certifique-se de que não existe nenhuma configuração assíncrona definida através do elemento <AsynchronousConfiguration>
se o elemento <Synchronous>
estiver definido como true
numa política de quotas.
O exemplo acima pode ser corrigido removendo a secção <AsynchronousConfiguration>
, conforme mostrado abaixo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> </Quota>