פתרון בעיות בשגיאות בפריסת מדיניות של מטמון

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

InvalidCacheResourceReference

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:

Error Deploying Revision revision_number to environment
Invalid cache resource reference [cache_resource] in Step definition [invalidate_cache_policy_name]. Context Revision:[revision_number];APIProxy:[apiproxy_name];Organization:[organization];Environment:[environment]

הודעת שגיאה לדוגמה

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

דוגמה לצילום מסך של שגיאה

שגיאה בפריסת גרסה 2 לבדיקה.

מטרה

השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות InvalidateCache מוגדר לשם שלא קיים בסביבה שבה מתבצעת הפריסה של proxy ל-API.

אבחון

  1. מזהים את שם המדיניות InvalidateCache, את המטמון הלא תקין שנעשה בו שימוש ברכיב <CacheResource> של המדיניות InvalidateCache ואת הסביבה שבה אירעה השגיאה. כל הפריטים האלה מופיעים בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות InvalidateCache הוא InvalidateCache-Token, שם המטמון הלא תקין הוא tokencache ושם הסביבה הוא test.

    Invalid cache resource reference tokencache in Step definition InvalidateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. בודקים את קובץ ה-XML של המדיניות InvalidateCache שנכשלת ומוודאים ששם המטמון שצוין ברכיב <CacheResource> זהה לזה שמופיע בהודעת השגיאה.

    בדוגמה הזו, שם הזיכרון המטמון שצוין ברכיב <CacheResource> הוא tokencache:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <InvalidateCache async="false" continueOnError="false" enabled="true" name="InvalidateCache-Token">
        <DisplayName>InvalidateCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref=""/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <Scope>Exclusive</Scope>
        <CacheContext>
            <APIProxyName/>
            <ProxyName>default</ProxyName>
            <TargetName>default</TargetName>
        </CacheContext>
        <PurgeChildEntries>false</PurgeChildEntries>
    </InvalidateCache>
    
  3. בודקים אם המטמון (שנקבע בשלב 1) הוגדר בסביבה הספציפית (שזוהתה בשלב 1).

    בממשק המשתמש של Apigee, עוברים אל ADMIN > Environment > test ובודקים אם המטמון קיים בכרטיסייה Caches של Environment Configuration. אם המטמון לא קיים, זו הסיבה לשגיאה.

    לדוגמה, בצילום המסך שלמטה אפשר לראות שהמטמון בשם tokencache לא קיים.

    תיבת הדו-שיח Environment Configuration.

    מכיוון שהמטמון שנקרא tokencache לא מוגדר בסביבת test, תוצג השגיאה:

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

רזולוציה

מוודאים שהמטמון שצוין ברכיב <CacheResource> של מדיניות InvalidateCache נוצר בסביבה שבה רוצים לפרוס את ה-proxy ל-API.

CacheNotFound

הודעת השגיאה

פריסת proxy ל-API דרך ממשק המשתמש או ה-API של Apigee מובילה להודעת שגיאה כמו זו, וסטטוס הפריסה של proxy ל-API מסומן כפריסה חלקית:

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

הודעת שגיאה לדוגמה

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

מטרה

השגיאה הזו מתרחשת אם המטמון הספציפי שמוזכר בהודעת השגיאה לא נוצר ברכיב ספציפי של מעבד הודעות. מעבד הודעות הוא רכיב פנימי שמעבד את תנועת ה-API דרך Apigee.

רזולוציה

לקבלת עזרה, אפשר לפנות אל התמיכה של Apigee.