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-1e 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-1e 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:00Invalid 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 é
flexiStarttime 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>