Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
InvalidCacheResourceReference
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec le message d'erreur suivant:
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]
Exemple de message d'erreur
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
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si l'élément <CacheResource>
de la règle PopulateCache est défini sur un nom qui n'existe pas dans l'environnement où le proxy d'API est déployé.
Diagnostic
Identifiez le nom de la règle PopulateCache, le cache invalide utilisé dans l'élément
<CacheResource>
de la règle et l'environnement dans lequel l'erreur s'est produite. Vous trouverez tous ces éléments dans le message d'erreur. Par exemple, dans l'erreur ci-dessous, le nom de la règle PopulateCache estPopulateCache-Token
, le nom du cache non valide esttokencache
et le nom de l'environnement esttest
.Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Examinez le fichier XML de la règle PopulateCache et vérifiez que le nom du cache spécifié pour l'élément
<CacheResource>
correspond au message d'erreur.Dans cet exemple, le nom du cache spécifié dans l'élément
<CacheResource>
esttokencache
:<?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>
Vérifiez si le cache (déterminé à l'étape 1) a été défini dans l'environnement spécifique (identifié à l'étape 1).
Dans l'interface utilisateur Edge, accédez à ADMIN > Environnement > test et vérifiez si le cache existe dans l'onglet Caches de Configuration de l'environnement. Si le cache n'existe pas, il s'agit de la cause de l'erreur.
Par exemple, dans la capture d'écran ci-dessous, notez que le cache nommé
tokencache
n'existe pas.Étant donné que le cache
tokencache
n'est pas défini dans l'environnementtest
, vous obtenez l'erreur suivante :Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Solution
Vérifiez que le cache spécifié dans l'élément <CacheResource>
de la règle PopulateCache a été créé dans l'environnement où vous souhaitez déployer le proxy d'API.
Consultez la section Créer et modifier un cache d'environnement pour savoir comment créer le cache.
CacheNotFound
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge génère un message d'erreur de ce type et l'état de déploiement du proxy d'API est marqué comme partiellement déployé:
Error: Cache : cache_resource, not found in organization : organization__environment.
Exemple de message d'erreur
Error Cache : configCache, not found in organization : kkalckstein-eval__test
Cause
Cette erreur se produit si le cache spécifique mentionné dans le message d'erreur n'a pas été créé sur un composant du processeur de message spécifique. Un processeur de messages est un composant Edge interne qui traite le flux de trafic d'API via Apigee Edge.
Résolution
Si vous utilisez un cloud privé, veuillez suivre les instructions ci-dessous:
Listez les déploiements de proxy d'API et déterminez quels processeurs de messages présentent l'erreur
steps.cache.CacheNotFound
.curl -u $USERID:$USERPASSWORD http://
:8080/v1/organizations/ /environments/ /apis/ /revisions/ /deployments Exemple de résultat
{ "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" ...
Notez le ou les UUID du processeur de messages dans lequel vous observez l'erreur
steps.cache.CacheNotFound
. Identifiez le nom d'hôte/l'adresse IP du processeur de messages correspondant à l'UUID.Connectez-vous au processeur de messages spécifique et redémarrez-le à l'aide de la commande suivante:
apigee-service edge-message-processor restart
Si vous êtes un utilisateur du cloud public ou si le problème persiste pour le cloud privé, contactez l'assistance Apigee pour obtenir de l'aide.