Fehlerbehebung bei der Bereitstellung von Lookup-Cache-Richtlinien

Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.

InvalidTimeout

Fehlermeldung

Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel für einen Fehler-Screenshot

Fehler beim Speichern von Revision 2.

Ursache

Wenn das <CacheLookupTimeoutInSeconds>-Element einer LookupCache-Richtlinie auf eine negative Zahl gesetzt ist, schlägt die Bereitstellung des API-Proxys fehl.

Wenn das Element <CacheLookupTimeoutInSeconds> beispielsweise -1 lautet, schlägt die Bereitstellung des API-Proxys fehl.

Diagnose

  1. Identifizieren Sie den ungültigen Wert, der für das <CacheLookupTimeoutInSeconds>-Element in der LookupCache-Richtlinie angegeben wurde. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler ist beispielsweise -1 der ungültige Wert für das Element <CacheLookupTimeoutInSeconds>:

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. Prüfen Sie alle LookupCache-Richtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Es kann eine oder mehrere LookupCache-Richtlinien geben, in denen das <CacheLookupTimeoutInSeconds>-Element angegeben ist. Finde die LookUpCache-Richtlinie, bei der für das <CacheLookupTimeoutInSeconds>-Element ein ungültiger Wert angegeben wurde, der oben in Schritt 1 angegeben ist.

    Die folgende Richtlinienkonfiguration gibt beispielsweise den Wert von <CacheLookupTimeoutInSeconds> von -1 an, der mit der Fehlermeldung übereinstimmt:

    <?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. Wenn <CacheLookupTimeoutInSeconds> als negative Ganzzahl angegeben wird, ist dies die Ursache des Fehlers.

Lösung

Der Wert für das Element <CacheLookupTimeoutInSeconds> der LookupCache-Richtlinie muss immer als nicht negative ganze Zahl angegeben werden.

Um die oben beschriebene LookupCache-Richtlinie zu korrigieren, ändern Sie das <CacheLookupTimeoutInSeconds>-Element in 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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:

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]

Beispiel für Fehlermeldung

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

Screenshot eines Beispielfehlers

Fehler beim Bereitstellen von Version 2 zum Testen.

Ursache

Dieser Fehler tritt auf, wenn für das <CacheResource>-Element ein Name festgelegt ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist.

Diagnose

  1. Identifizieren Sie den ungültigen Cache, der im Element <CacheResource> der LookupCache-Richtlinie verwendet wird, und ermitteln Sie, in welcher Umgebung der Fehler aufgetreten ist. Sie finden beides in der Fehlermeldung. Im folgenden Fehler lautet der Name des ungültigen Cache beispielsweise tokencache und der Name der Umgebung test.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. Prüfen Sie alle LookupCache-Richtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Identifizieren Sie die spezifische LookupCache-Richtlinie, bei der der ungültige Cache (identifiziert in Schritt #1) in Element <CacheResource> angegeben ist.

    Die folgende Richtlinie gibt beispielsweise den Wert von <CacheResource> als tokencache an, der mit der Fehlermeldung übereinstimmt:

    <?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. Prüfen Sie, ob der Cache (in Schritt #1 ermittelt) in der spezifischen Umgebung (in Schritt #1 identifiziert) definiert wurde.

    Gehen Sie in der Apigee-Benutzeroberfläche auf ADMIN > Umgebung > Test und prüfen Sie, ob der Cache auf dem Tab Caches der Umgebungskonfiguration vorhanden ist. Wenn der Cache nicht vorhanden ist, ist dies die Ursache des Fehlers.

    Beachten Sie beispielsweise im folgenden Screenshot, dass der Cache mit dem Namen tokencache nicht existiert.

    Tab für Umgebungskonfigurations-Caches.

    Da der Cache mit dem Namen tokencache nicht in der test-Umgebung definiert ist, wird dieser Fehler ausgegeben:

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

Lösung

Achten Sie darauf, dass der Cache im Element <CacheResource> in der Umgebung erstellt wurde, in der Sie den API-Proxy bereitstellen möchten.

CacheNotFound

Fehlermeldung

Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder API führt zu einer Fehlermeldung wie dieser und der Bereitstellungsstatus des API-Proxys wird als teilweise bereitgestellt gekennzeichnet:

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

Beispiel für Fehlermeldung

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

Ursache

Dieser Fehler tritt auf, wenn der in der Fehlermeldung erwähnte Cache nicht auf einer bestimmten Message Processor-Komponente erstellt wurde.

Lösung

Wenden Sie sich an den Apigee-Support, wenn Sie Hilfe brauchen.