אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
InvalidCacheResourceReference
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API נכשלת עם הודעת השגיאה הבאה:
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
דוגמה לצילום מסך של שגיאה

סיבה
השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות InvalidateCache מוגדר לשם שלא קיים בסביבה שבה מתבצעת הפריסה של proxy ל-API.
אבחון
צריך לזהות את השם של מדיניות 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בודקים את קובץ ה-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>בודקים אם המטמון (שנקבע בשלב 1) הוגדר בסביבה הספציפית (שזוהתה בשלב 1).
בממשק המשתמש של Edge, עוברים אל ADMIN > Environment > test ובודקים אם המטמון קיים בכרטיסייה Caches של Environment Configuration. אם המטמון לא קיים, זו הסיבה לשגיאה.
לדוגמה, בצילום המסך שלמטה אפשר לראות שהמטמון בשם
tokencacheלא קיים.
מכיוון שהמטמון שנקרא
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 באמצעות ממשק המשתמש של Edge או Edge Management API גורמת להודעת שגיאה כמו זו, וסטטוס הפריסה של proxy ל-API מסומן כפריסה חלקית:
Error: Cache : cache_resource, not found in organization : organization__environment.
הודעת שגיאה לדוגמה
Error Cache : configCache, not found in organization : kkalckstein-eval__test
סיבה
השגיאה הזו מתרחשת אם מטמון ספציפי שמוזכר בהודעת השגיאה לא נוצר ברכיב ספציפי של מעבד ההודעות. מעבד הודעות הוא רכיב פנימי של Edge שמעבד את זרימת תעבורת ה-API דרך Apigee Edge.
רזולוציה
אם אתם משתמשים ב-Private Cloud, אתם צריכים לפעול לפי ההוראות הבאות:
מציגים את הפריסות של ה-proxy ל-API ומזהים אילו מעבדי בקשות מחזירים את השגיאה
steps.cache.CacheNotFound.curl -u $USERID:$USERPASSWORD http://
:8080/v1/organizations/ /environments/ /apis/ /revisions/ /deployments פלט לדוגמה
{ "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" ...רושמים את מזהי ה-UUID של מעבד ההודעות שבו מופיעה השגיאה
steps.cache.CacheNotFound. מזהים את שם המארח או כתובת ה-IP של מעבד ההודעות שמתאימים ל-UUID.מתחברים למעבד ההודעות הספציפי ומפעילים אותו מחדש באמצעות הפקודה הבאה:
apigee-service edge-message-processor restart
אם אתם משתמשים ב-Public Cloud או אם הבעיה נמשכת ב-Private Cloud, פנו אל התמיכה של Apigee לקבלת עזרה.