מוצג המסמך של 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 [populate_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 PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
צילום מסך של שגיאה לדוגמה
סיבה
השגיאה הזו מתקבלת אם הרכיב <CacheResource>
במדיניות PopulateCache מוגדר לשם שאינו קיים בסביבה שבה נפרס שרת ה-Proxy של ה-API.
אבחון
מזהים את שם המדיניות PopulateCache, את המטמון הלא חוקי שנעשה בו שימוש ברכיב
<CacheResource>
של המדיניות ואת הסביבה שבה התרחשה השגיאה. כל הפריטים האלה מופיעים בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות PopulateCache הואPopulateCache-Token
, השם של המטמון הלא חוקי הואtokencache
ושם הסביבה הואtest
.Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
צריך לבדוק את ה-XML של מדיניות אכלוס המטמון שנכשלה ולוודא ששם המטמון שצוין ברכיב
<CacheResource>
תואם להודעת השגיאה.בדוגמה הזו, שם המטמון שצוין ברכיב
<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>
בודקים אם המטמון (שזוהה בשלב 1) הוגדר בסביבה הספציפית (זוהתה בשלב 1).
בממשק המשתמש של Edge, עוברים לקטע אדמין > סביבה > לבדוק את ולבדוק אם המטמון קיים בכרטיסייה מטמון של תצורת סביבה. אם המטמון לא קיים, זו הסיבה לשגיאה.
לדוגמה, אפשר לראות בצילום המסך שלמטה שהמטמון בשם
tokencache
לא קיים.בגלל שהמטמון בשם
tokencache
לא מוגדר בסביבתtest
, תקבלו את השגיאה:Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
רזולוציה
צריך לוודא שהמטמון שמצוין ברכיב <CacheResource>
של המדיניות PopulateCache נוצר בסביבה שבה רוצים לפרוס את שרת ה-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.
רזולוציה
אם אתם משתמשים בענן פרטי, עליכם לפעול לפי ההוראות הבאות:
מציגים את רשימת פריסות ה-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 או אם הבעיה נמשכת בשביל ענן פרטי, אתם יכולים לפנות לתמיכה של Apigee לקבלת עזרה.