Résolution des erreurs de déploiement de la règle de recherche du cache

Vous consultez la documentation d'Apigee X.
Consultez la documentation d'Apigee Edge.

InvalidTimeout

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :

Error Saving Revision revision_number
CacheLookupTimeoutInSeconds value value should be greater than zero.

Exemple de message d'erreur

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

Capture d'écran du message d'erreur

Erreur lors de l'enregistrement de la révision 2.

Cause

Si l'élément <CacheLookupTimeoutInSeconds> d'une règle LookupCache est défini sur un nombre négatif, le déploiement du proxy d'API échoue.

Par exemple, si l'élément <CacheLookupTimeoutInSeconds> a une valeur -1, le déploiement du proxy d'API échoue.

Diagnostic

  1. Identifiez la valeur non valide spécifiée pour l'élément <CacheLookupTimeoutInSeconds> dans la règle LookupCache. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, la valeur non valide utilisée pour l'élément <CacheLookupTimeoutInSeconds> est -1 :

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. Examinez toutes les règles LookupCache dans le proxy d'API spécifique où l'erreur s'est produite. Il peut y avoir une ou plusieurs règles LookupCache dans lesquelles l'élément <CacheLookupTimeoutInSeconds> est spécifié. Identifiez la règle LookUpCache dans laquelle la valeur non valide (identifiée à l'étape 1 ci-dessus) est spécifiée pour l'élément <CacheLookupTimeoutInSeconds>.

    Par exemple, la configuration de règle suivante spécifie la valeur de <CacheLookupTimeoutInSeconds> sur -1, qui correspond au message d'erreur :

    <?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 la valeur de <CacheLookupTimeoutInSeconds> est spécifiée sous forme d'un entier négatif, alors il s'agit de la cause de l'erreur.

Solution

Vérifiez que la valeur de l'élément <CacheLookupTimeoutInSeconds> de la règle LookupCache est toujours spécifiée sous la forme d'un entier non négatif.

Pour corriger l'exemple de règle LookupCache présenté ci-dessus, vous pouvez remplacer l'élément <CacheLookupTimeoutInSeconds> par 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

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee é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:ResponseCache;Organization:[organization];Environment:[environment]

Exemple de message d'erreur

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

Capture d'écran du message d'erreur

Erreur lors du déploiement de la révision 2 sur &quot;test&quot;.

Cause

Cette erreur se produit si l'élément <CacheResource> est défini sur un nom qui n'existe pas dans l'environnement dans lequel le proxy d'API est déployé.

Diagnostic

  1. Identifiez le cache non valide utilisé dans l'élément <CacheResource> de la règle LookupCache ainsi que l'environnement où l'erreur s'est produite. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom du cache non valide est tokencache et le nom de l'environnement est test.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. Examinez toutes les règles LookupCache dans le proxy d'API spécifique où l'erreur s'est produite. Identifiez la règle LookupCache spécifique dans laquelle le cache non valide (identifié à l'étape 1) est spécifié dans l'élément <CacheResource>.

    Par exemple, la règle suivante spécifie la valeur de <CacheResource> en tant que tokencache, qui correspond au message d'erreur :

    <?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. 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 Apigee, accédez à ADMIN > Environnement > test et vérifiez si le cache existe dans l'onglet Caches de la page 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.

    Onglet &quot;Caches&quot; de la page &quot;Configuration de l&#39;environnement&quot;.

    Étant donné que le cache tokencache n'est pas défini dans l'environnement test, vous obtenez l'erreur suivante :

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

Solution

Vérifiez que le nom de cache spécifié dans l'élément <CacheResource> a été créé dans l'environnement dans lequel vous souhaitez déployer le proxy d'API.

CacheNotFound

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee génère un message d'erreur comme celui-ci, 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.

Solution

Contactez l'assistance Apigee pour obtenir de l'aide.