Solución de problemas de errores de implementación de la política de caché de búsqueda

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

InvalidTimeout

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
CacheLookupTimeoutInSeconds value value should be greater than zero.

Ejemplo de mensaje de error

Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.

Captura de pantalla de ejemplo de error

No se ha podido guardar la revisión 2.

Causa

Si el elemento <CacheLookupTimeoutInSeconds> de una política LookupCache se define con un número negativo, la implementación del proxy de API fallará.

Por ejemplo, si el elemento <CacheLookupTimeoutInSeconds> es -1, no se podrá implementar el proxy de API.

Diagnóstico

  1. Identifica el valor no válido especificado para el elemento <CacheLookupTimeoutInSeconds> en la política LookupCache. Puede encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el valor no válido que se ha usado para el elemento <CacheLookupTimeoutInSeconds> es -1:

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. Examina todas las políticas LookupCache del proxy de API específico en el que se ha producido el error. Puede haber una o varias políticas LookupCache en las que se especifique el elemento <CacheLookupTimeoutInSeconds>. Identifica la política LookUpCache en la que se especifica el valor no válido (identificado en el paso 1 anterior) para el elemento <CacheLookupTimeoutInSeconds>.

    Por ejemplo, la siguiente configuración de la política especifica el valor de <CacheLookupTimeoutInSeconds> de -1, que coincide con el mensaje de error:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. Si <CacheLookupTimeoutInSeconds> se especifica como un número entero negativo, ese es el motivo del error.

Resolución

Asegúrate de que el valor del elemento <CacheLookupTimeoutInSeconds> de la política LookupCache siempre se especifique como un número entero no negativo.

Para corregir la política LookupCache de ejemplo que se muestra arriba, puedes modificar el elemento <CacheLookupTimeoutInSeconds> por 30.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
    <DisplayName>LookupCache-Token</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.queryparam.client_id"/>
    </CacheKey>
    <CacheResource>tokencache</CacheResource>
    <CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <TimeoutInSec>3600</TimeoutInSec>
    </ExpirySettings>
    <AssignTo>usertoken</AssignTo>
</LookupCache>

InvalidCacheResourceReference

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 Deploying Revision revision_number to environment
Invalid cache resource reference [cache_resource] in Step definition [populate_cache_policy_name]. Context Revision:[revision_number];APIProxy:ResponseCache;Organization:[organization];Environment:[environment]

Ejemplo de mensaje de error

Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test

Captura de pantalla de ejemplo de error

Error al implementar la revisión 2 en la prueba.

Causa

Este error se produce si el elemento <CacheResource> se asigna a un nombre que no existe en el entorno en el que se está implementando el proxy de API.

Diagnóstico

  1. Identifica la caché no válida que se ha usado en el elemento <CacheResource> de la política LookupCache y el entorno en el que se ha producido el error. Puedes encontrar ambos elementos en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la caché no válida es tokencache y el nombre del entorno es test.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. Examina todas las políticas LookupCache del proxy de API específico en el que se ha producido el error. Identifica la política LookupCache específica en la que se especifica la caché no válida (identificada en el paso 1) en el elemento <CacheResource>.

    Por ejemplo, la siguiente política especifica el valor de <CacheResource> como tokencache, que coincide con el mensaje de error:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <CacheLookupTimeoutInSeconds/>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. Verifica si la caché (determinada en el paso 1) se ha definido en el entorno específico (identificado en el paso 1).

    En la interfaz de usuario de Apigee, vaya a ADMIN > Environment > test (ADMINISTRAR > Entorno > prueba) y compruebe si la caché existe en la pestaña Caches (Cachés) de Environment Configuration (Configuración del entorno). Si la caché no existe, esa es la causa del error.

    Por ejemplo, en la captura de pantalla que se muestra a continuación, la caché llamada tokencache no existe.

    Pestaña Cachés de configuración del entorno.

    Como la caché llamada tokencache no está definida en el entorno test, se muestra el siguiente error:

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
    

Resolución

Asegúrate de que el nombre de la caché especificado en el elemento <CacheResource> se haya creado en el entorno en el que quieras implementar el proxy de API.

CacheNotFound

Mensaje de error

Si se despliega un proxy de API a través de la interfaz de usuario o de la API de Apigee, se mostrará un mensaje de error como este y el estado del despliegue del proxy de API se marcará como parcialmente desplegado:

Error: Cache : cache_resource, not found in organization : organization__environment.

Ejemplo de mensaje de error

Error Cache : configCache, not found in organization : kkalckstein-eval__test

Causa

Este error se produce si la caché específica mencionada en el mensaje de error no se ha creado en un componente Message Processor específico.

Resolución

Ponte en contacto con el equipo de Asistencia de Apigee para obtener ayuda.