Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
InvalidQuotaInterval
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision_number] Invalid quota interval [interval] in quota policy [policy_name].
Ejemplo de mensaje de error
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
Captura de pantalla de ejemplo
Causa
Si el intervalo de cuota especificado en el elemento <Interval>
de la política de cuota no es un número entero, se producirá un error al implementar el proxy de API.
Por ejemplo, si el intervalo de cuota especificado es 0,1 en el elemento <Interval>
de una política de cuota, la implementación del proxy de API fallará.
Diagnóstico
Identifica la política de cuota en la que se ha producido el error y el intervalo de cuota no válido. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
Quota-1
y el intervalo de cuota no válido es0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
Verifica que el valor del intervalo de cuota especificado en la política de cuota fallida coincida con el valor identificado en el mensaje de error (paso 1 anterior). Por ejemplo, la siguiente política especifica el valor del intervalo de cuota como
0.1
, que coincide con lo que se indica en el mensaje de error:<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>
Si el intervalo de cuota especificado no es un número entero, esa es la causa del error.
En el ejemplo de política de cuota que se muestra arriba, el valor del intervalo de cuota es 0,1, que no es un número entero. Por lo tanto, el despliegue del proxy de API falla y se muestra el siguiente error:
Invalid quota interval 0.1 in quota policy Quota-1.
Resolución
Asegúrate de que el valor del intervalo de cuota especificado en el elemento <Interval>
de la política de cuota sea un número entero. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
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].
Ejemplo de mensaje de error
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 pantalla de ejemplo
Causa
Si la unidad de tiempo especificada en el elemento <TimeUnit>
de la política de cuota no es compatible, la implementación del proxy de API fallará.
Las unidades de tiempo admitidas son minute
, hour
, day
, week
y month
.
Por ejemplo, si la unidad de tiempo se especifica como year
en el elemento <TimeUnit>
de la política de cuota, la implementación del proxy de API fallará.
Diagnóstico
Identifica la política de cuota en la que se ha producido el error y la unidad de tiempo no válida. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
Quota-1
y la unidad de tiempo no válida esyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Verifica que la unidad de tiempo especificada en el elemento
<TimeUnit>
de la política Quota coincida con la unidad de tiempo identificada en el mensaje de error (paso 1 anterior). Por ejemplo, la siguiente política especifica el valor del intervalo de cuota comoyear
, que coincide con lo que se indica en el mensaje de error:<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>
Si no se admite la unidad de tiempo especificada en la política de cuota, ese será el motivo del error.
En el ejemplo de política de cuota que se muestra arriba, la unidad de tiempo es
year
que no se admite. Por lo tanto, el despliegue del proxy de API falla y se muestra el siguiente error:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Resolución
Comprueba que se admite la unidad de tiempo especificada en el elemento <TimeUnit>
de la política de cuotas. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision_number] No enum constant com.apigee.quota.types.QuotaType.[type].
Ejemplo de mensaje de error
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
Captura de pantalla de ejemplo
Causa
Si el tipo de la cuota especificada por el atributo type
en el elemento <Quota>
de la política Quota no es válido, se producirá un error al desplegar el proxy de API.
Los tipos de cuota admitidos son default
, calendar
, flexi
y rollingwindow
.
Por ejemplo, si el tipo de política especificado como window
en el elemento <Quota>
de la política de cuota, se produce un error al desplegar el proxy de API.
Diagnóstico
Identifica el tipo de cuota no válido que se ha usado en la política de cuotas. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el tipo de política no válido es
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType.window.
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota en la que el tipo de cuota especificado en el elemento
<Quota>
coincida con el tipo no admitido identificado en el paso 1 anterior, esa será la causa del error.Por ejemplo, la siguiente política especifica el tipo
window
, que coincide con lo que aparece en el mensaje de error:<?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>
Como el atributo type se ha definido como
window
, que no se admite, el despliegue del proxy de API falla y se muestra el siguiente error:No enum constant com.apigee.quota.types.QuotaType.window.
Resolución
Comprueba que se admite el tipo de cuota especificado por el atributo type
en el elemento <Quota>
de la política Quota. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision_number] Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Ejemplo de mensaje de error
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 pantalla de ejemplo
Causa
Si el formato de la hora especificada en el elemento <StartTime>
de la política de cuota no es válido, la implementación del proxy de API fallará.
El formato válido es yyyy-MM-dd HH:mm:ss
, que es el formato de fecha y hora ISO 8601.
Por ejemplo, si el tiempo especificado en el elemento <StartTime>
de la política de cuotas es 7-16-2017 12:00:00
, se producirá un error al implementar el proxy de API.
Diagnóstico
Identifica la hora de inicio no válida especificada en la política de cuota. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, la hora de inicio no válida es
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.
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota en la que el valor especificado en el elemento
<StartTime>
coincida con la hora de inicio no válida identificada en el paso 1 anterior, esa es la causa del error.Por ejemplo, la siguiente política especifica el tipo
7-16-2017 12:00:00
, que coincide con lo que aparece en el mensaje de error:<?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>
Como el valor asignado a
<StartTime>
es7-16-2017 12:00:00
, que no se ajusta al formato de fecha y hora requerido, el despliegue del proxy de API falla y se muestra el siguiente error:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Resolución
Asegúrate de que el formato de la hora de inicio especificado en el elemento <StartTime>
de la política de cuota sea válido según el formato obligatorio yyyy-MM-dd HH:mm:ss
. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision_number] Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.
Ejemplo de mensaje de error
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Captura de pantalla de ejemplo
Causa
Si el elemento <StartTime>
se especifica en una política de cuota cuyo tipo de cuota no es de tipo calendario, el despliegue del proxy de API falla.
El elemento <StartTime>
solo se admite en el tipo de cuota calendar
.
Por ejemplo, si el atributo type
se define como flexi
o rolling window
en el elemento <Quota>
de la política de cuota, se producirá un error al implementar el proxy de API.
Diagnóstico
Identifica el tipo de cuota especificado en la política de cuota que ha fallado. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, la hora de inicio no válida es
flexi
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota en la que el atributo de tipo especificado coincida con el tipo de cuota identificado en el paso 1 anterior y se especifique el elemento
<StartTime>
, esa será la causa del error.Por ejemplo, la siguiente política especifica el tipo de cuota como
flexi
, que coincide con lo que aparece en el mensaje de error, y también especifica el 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>
Como el elemento
<StartTime>
se especifica en la política de cuota cuyo tipo de cuota esflexi
, el despliegue del proxy de API falla y se produce el siguiente error:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Resolución
Compruebe que el elemento <StartTime>
no se especifica cuando el tipo de cuota indicado por el atributo type
del elemento <Quota>
es flexi
o rolling window
. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision number] Invalid timeunit second for distributed quota.
Ejemplo de mensaje de error
Error Saving Revision 1
Invalid timeunit second for distributed quota.
Captura de pantalla de ejemplo
Causa
Si el elemento <Distributed>
tiene el valor true
y el elemento <TimeUnit>
tiene el valor second
, la implementación del proxy de API fallará. La unidad de tiempo second
no es válida para una cuota distribuida.
Si el elemento Distributed
se define como true
, la política debe mantener un contador central y sincronizarlo continuamente en todos los procesadores de mensajes. Por lo tanto, sería difícil sincronizar y verificar que el número de solicitudes no supera la cuota especificada en un intervalo de tiempo corto, como segundos. Por este motivo, la unidad de tiempo second
no se considera válida para la cuota distribuida.
Diagnóstico
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota con un elemento <TimeUnit>
definido como second
y el elemento <Distributed>
definido como true
, esa es la causa del error.
Por ejemplo, la política de abajo tiene el elemento <TimeUnit>
con el valor second
y el elemento <Distributed>
con el valor 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>
Resolución
Asegúrate de que el elemento <TimeUnit>
nunca tenga el valor second
cuando el elemento <Distributed>
tenga el valor true. El elemento <TimeUnit>
puede tener cualquiera de los otros valores permitidos: minute, hour, day, week,
o month
. Por ejemplo:
<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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision number] SyncIntervalInSeconds should be a value greater than zero.
Ejemplo de mensaje de error
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
Captura de pantalla de ejemplo
Causa
Si el valor especificado para el elemento <SyncIntervalInSeconds>
dentro del elemento <AsynchronousConfiguration>
de una política de cuota es inferior a cero, se produce un error al implementar el proxy de API.
Diagnóstico
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota en la que el elemento <SyncIntervalInSeconds>
tenga un valor inferior a cero dentro del elemento <AsynchronousConfiguration>
, ese será el motivo del error.
Por ejemplo, la siguiente política tiene un valor negativo especificado para el 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>
Resolución
Asegúrate de especificar siempre un número entero positivo para el elemento <SyncIntervalInSeconds>
dentro del elemento <AsynchronousConfiguration>
en una política de cuotas. Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision [revision number] AsynchronousConfiguration is not valid for synchronous quota.
Ejemplo de mensaje de error
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
Captura de pantalla de ejemplo
Causa
Si el valor del elemento <Synchronous>
se asigna a true
en una política de cuotas que también tiene una configuración asíncrona definida mediante el elemento <AsynchronousConfiguration>
, la implementación del proxy de API falla.
Diagnóstico
Examina todas las políticas de cuota del proxy de API específico en el que se ha producido el error. Si hay alguna política de cuota en la que el elemento <Synchronous>
esté definido como true
y también tenga definido un elemento <AsynchronousConfiguration>
, ese será el motivo del error.
Por ejemplo, la política de abajo tiene un elemento <Synchronous>
definido como true
y también tiene un elemento <AsynchronousConfiguration>
:
<?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>
Resolución
Asegúrate de que no haya ninguna configuración asíncrona definida con el elemento <AsynchronousConfiguration>
si el elemento <Synchronous>
tiene el valor true
en una política de cuotas.
El ejemplo anterior se puede corregir eliminando la sección <AsynchronousConfiguration>
, como se muestra a continuación:
<?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>