Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
InvalidCacheResourceReference
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o de la API de Edge Management falla y muestra el siguiente 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:[apiproxy_name];Organization:[organization];Environment:[environment]
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Captura de pantalla de error de ejemplo
Causa
Este error se genera si el elemento <CacheResource>
en la política PopulateCache se configura como un nombre que no existe en el entorno en el que se implementa el proxy de API.
Diagnóstico
Identifica el nombre de la política PopulateCache, la caché no válida que se usó en el elemento
<CacheResource>
de la política y el entorno en el que se generó el error. Puedes encontrar todos estos elementos en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política PopulateCache esPopulateCache-Token
, el nombre de la caché no válida estokencache
y el nombre del entorno estest
.Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Examina el XML de la política PopulateCache con errores y verifica si el nombre de la caché especificado para el elemento
<CacheResource>
coincide con el mensaje de error.En este ejemplo, el nombre de caché especificado en el elemento
<CacheResource>
estokencache
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PopulateCache async="false" continueOnError="false" enabled="true" name="PopulateCache-Token"> <DisplayName>PopulateCache-Token</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.queryparam.client_id"/> </CacheKey> <CacheResource>tokencache</CacheResource> <Scope>Exclusive</Scope> <ExpirySettings> <TimeoutInSec>3600</TimeoutInSec> </ExpirySettings> <Source>token</Source> </PopulateCache>
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 Edge, navega a ADMINISTRADOR > Entorno > test y comprueba si existe la caché en la pestaña Caches de Environment Configuration. 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.Debido a que la caché llamada
tokencache
no está definida en el entornotest
, aparecerá el siguiente error:Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Solución
Asegúrate de que la caché especificada en el elemento <CacheResource>
de la política PopulateCache se creó en el entorno en el que deseas implementar el proxy de API.
Consulta Crea y edita una caché de entorno para obtener información acerca de cómo crear la caché.
CacheNotFound
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o de la API de administración de Edge genera un mensaje de error como este, y el estado de implementación del proxy de API se marca como implementado de forma parcial:
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. Un Message Processor es un componente interno de Edge que procesa el flujo de tráfico de la API a través de Apigee Edge.
Solución
Si eres usuario de la Nube privada, sigue las instrucciones que se indican a continuación:
Enumera las implementaciones del proxy de API y determina qué Message Processor tienen el error
steps.cache.CacheNotFound
.curl -u $USERID:$USERPASSWORD http://
:8080/v1/organizations/ /environments/ /apis/ /revisions/ /deployments Resultado de muestra:
{ "aPIProxy" : "TestCache", "environment" : [ { "configuration" : { "basePath" : "/", "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6", "steps" : [ ] }, "name" : "prod", "server" : [ { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1" }, { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d" }, { "error" : "Cache : configCache, not found in organization : kkalckstein-eval__test", "errorCode" : "steps.cache.CacheNotFound", "status" : "error", "type" : [ "message-processor" ], "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d" }, ... "state" : "deployed" } ], "name" : "2", "organization" : "kkalckstein-eval" ...
Observa los UUID del Message Processor en el que se observa el error
steps.cache.CacheNotFound
. Identifica el nombre de host o la dirección IP del Message Processor correspondiente al UUID.Accede al Message Processor específico y reinícialo con el siguiente comando:
apigee-service edge-message-processor restart
Si eres usuario de la nube pública o si el problema persiste en la nube privada, comunícate con el equipo de asistencia de Apigee para obtener ayuda.