Risolvere gli errori di deployment dei criteri della cache

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

InvalidCacheResourceReference

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:

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]

Esempio di messaggio di errore

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

Screenshot di esempio dell'errore

Errore durante il deployment della revisione 2 per il test.

Causa

Questo errore si verifica se l'elemento <CacheResource> nel criterio PopulateCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.

Diagnosi

  1. Identifica il nome della policy PopulateCache, la cache non valida utilizzata nell'elemento <CacheResource> della policy e l'ambiente in cui si è verificato l'errore. Puoi trovare tutti questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy PopulateCache è PopulateCache-Token, il nome della cache non valida è tokencache e il nome dell'ambiente è test.

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. Esamina il file XML della policy PopulateCache non riuscita e verifica se il nome della cache specificato per l'elemento <CacheResource> corrisponde al messaggio di errore.

    In questo esempio, il nome della cache specificato nell'elemento <CacheResource> è tokencache:

    <?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>
    
  3. Verifica se la cache (determinata nel passaggio 1) è stata definita nell'ambiente specifico (identificato nel passaggio 1).

    Nell'interfaccia utente di Apigee, vai ad ADMIN > Environment > test e verifica se la cache esiste nella scheda Cache di Environment Configuration (Configurazione ambiente). Se la cache non esiste, questo è il motivo dell'errore.

    Ad esempio, nello screenshot riportato di seguito nota che la cache denominata tokencache non esiste.

    Scheda Cache di configurazione dell&#39;ambiente.

    Poiché la cache denominata tokencache non è definita nell'ambiente test, viene visualizzato l'errore:

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

Risoluzione

Assicurati che la cache specificata nell'elemento <CacheResource> del criterio PopulateCache sia stata creata nell'ambiente in cui vuoi eseguire il deployment del proxy API.

CacheNotFound

Messaggio di errore

Il deployment del proxy API tramite l'interfaccia utente o l'API Apigee genera un messaggio di errore come questo e lo stato del deployment del proxy API viene contrassegnato come parzialmente eseguito:

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

Esempio di messaggio di errore

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

Causa

Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata in un componente specifico del processore di messaggi. Un processore di messaggi è un componente interno di Apigee che elabora il flusso di traffico API tramite Apigee.

Risoluzione

Contatta l'assistenza Apigee per ricevere aiuto.