Solución de problemas de implementación de políticas de búsqueda en caché

Estás viendo la documentación de Apigee X.
Consulta la documentación de Apigee Edge.

InvalidTimeout

Mensaje de error

Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con 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 error de ejemplo

Se produjo un error al guardar la revisión 2.

Causa

Si el elemento <CacheLookupTimeoutInSeconds> de una política LookupCache está configurado como un número negativo, la implementación del proxy de API falla.

Por ejemplo, si el elemento <CacheLookupTimeoutInSeconds> es -1, la implementación del proxy de API falla.

Diagnóstico

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

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. Examina todas las políticas LookupCache en el proxy de API específico donde ocurrió la falla. Puede haber una o más políticas de 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) para el elemento <CacheLookupTimeoutInSeconds>.

    Por ejemplo, la siguiente configuración de 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 se especifica <CacheLookupTimeoutInSeconds> como un número entero negativo, esa es la causa del error.

Solución

Asegúrese 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 de ejemplo LookupCache que se muestra arriba, puedes modificar el elemento <CacheLookupTimeoutInSeconds> y establecerlo en 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

Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con 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 error de ejemplo

Error durante la implementación de la revisión 2 para realizar una prueba.

Causa

Este error ocurre si el elemento <CacheResource> se configuró en un nombre que no existe en el entorno en el que se implementa el proxy de API.

Diagnóstico

  1. Identifica la caché no válida que se usa en el elemento <CacheResource> de la política LookupCache y el entorno en el que se produjo 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 en el proxy de API específico donde ocurrió la falla. 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, en la siguiente política, se 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 definió en el entorno específico (identificado en el paso 1).

    En la IU de Apigee, navega a ADMIN > Environment > test (ADMINISTRADOR > Entorno > prueba) y verifica si la caché existe en la pestaña Caches de la Configuración del entorno. Si la caché no existe, esa es la causa del error.

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

    Pestaña Caches de configuración del entorno

    Debido a que la caché llamada tokencache no está definida en el entorno test, aparecerá el siguiente error:

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

Solución

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

CacheNotFound

Mensaje de error

La implementación del proxy de API a través de la IU o la API de Apigee da como resultado un mensaje de error como este, y el estado de implementación del proxy de API se marca como parcialmente implementado:

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 genera si la caché específica que se menciona en el mensaje de error no se creó en un componente específico del procesador de mensajes.

Solución

Comunícate con el equipo de asistencia de Apigee para obtener ayuda.