אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
אפשר לבצע ניפוי באגים בתוסף באמצעות הודעות שמופיעות בשני מקומות: הכלי Trace ויומני התוסף. אם תוסף לא פועל, לפעמים צריך מידע משני המקומות כדי לזהות את הבעיה.
כלי המעקב של Apigee Edge מאפשר לבדוק ולערוך קוד של שרתי proxy ל-API באופן איטרטיבי במהלך הפיתוח. הודעות המעקב כוללות שגיאות מקוד ה-proxy ל-API, כולל הגדרות של proxy ל-API ומדיניות.
שגיאות שקשורות לתוספים שמופיעות בכלי המעקב בדרך כלל לא מכילות הרבה פרטים, מלבד ציון של התוסף שהפעולה שלו נכשלה וקוד שגיאת HTTP. אם לא מצאתם כאן מידע שימושי, כדאי לבדוק את היומן של התוסף שבו אתם משתמשים.
תוספים יוצרים רשומות ביומן בזמן הריצה. (יומני הרישום של התוספים זמינים רק לאדמינים של הארגון).
היומנים האלה כוללים רשומות שמוחזרות מהמשאב החיצוני שהתוסף מוגדר לתקשר איתו. לדוגמה, אם פרטי הכניסה של משאב חיצוני לא מוגדרים בצורה נכונה בתוסף, סביר להניח שהשגיאה תופיע כאן.
היומנים כוללים גם רשומות מקוד פנימי של התוסף. כשבודקים את היומנים, חשוב לזכור שחלק מהערכים לא רלוונטיים לשגיאה שמנסים לתקן. רשומות ביומן שקשורות לתוספים מתחילות בדרך כלל במילה
details, כמו ברשומה הבאה ביומן מהתוסף Cloud Pub/Sub:details: 'Invalid resource name given (name=projects/example-test-123456/topic/extension-example). Refer to https://cloud.google.com/pubsub/docs/admin#resource_names for more information.'
סוגי שגיאות וסיבות
תהליכי העיבוד של בקשות לתוספים מתחילים במדיניות ExtensionCallout ב-proxy ל-API, עוברים דרך התוסף, יוצאים למשאב חיצוני ואז חוזרים. לכן, יכולה להתרחש שגיאה בכל אחד מהמקומות האלה.
השגיאות שמופיעות יכולות להיות שייכות לקטגוריות הבאות.
שגיאות בהגדרת התוסף
זו ההגדרה שמנהל הארגון מבצע כשמוסיפים תוסף לסביבה.
לדוגמה, אם מגדירים את התוסף Cloud Logging עם מזהה פרויקט שגוי ב-Google Cloud, התוסף יקבל שגיאה מ-Cloud Logging. בדרך כלל, הפרטים על השגיאות האלה מופיעים ביומן של התוסף.
ראיות בכלי המעקב
בכלי לעריכת פרוקסי, השגיאות האלה בדרך כלל יופיעו כשגיאה ברמה 4xx- או 5xx-. עם זאת, עורך ה-proxy לא יציג פרטים ספציפיים על הסיבה לשגיאה, אלא רק יציין שהתוסף החזיר שגיאה.
{
"fault": {
"faultstring":"Execution of ConnectorCallout Logging-Extension failed. Reason: Connector returned error statuscode=500",
"detail": {
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
הוכחות ביומני התוספים
אם יש פרטים על סוג השגיאה הזה, הם יופיעו ברשומות היומן של התוסף. הודעת השגיאה הבאה, שמוחזרת על ידי שירות Cloud Pub/Sub, נובעת ממזהה פרויקט לא תקין.
details: 'Project does not exist: example-test-12345'
שגיאות בהגדרת המדיניות ExtensionCallout
השגיאות האלה מתרחשות כשיש הגדרה שגויה של המדיניות ExtensionCallout, בגלל שגיאת תחביר בהגדרת המדיניות או בגלל מפתחות או ערכים שגויים בהגדרה. יש שני סוגים של שגיאות כאלה, בהתאם לאופן שבו המדיניות מוגדרת:
ערכים שגויים שמוערכים על ידי המקור החיצוני
מצב כזה יכול לקרות אם שגיאת ההגדרה נראתה תקינה לתוסף, אבל לא הייתה תקינה למשאב החיצוני. לדוגמה, אם התוסף מעביר מזהה מסד נתונים שגוי אל Cloud Spanner, Cloud Spanner יחזיר שגיאה שתתועד ביומן של התוסף:
details: 'Database not found: projects/example-test-123456/instances/spanner-extension-example-db/databases/my-business-d'השגיאה הזו יכולה להתרחש גם אם יש JSON שגוי בהגדרות של רכיב
<Input>במדיניות. בתוספים מסוימים, חלק מקובץ ה-JSON מעובד על ידי התוסף וחלק מועבר למשאב. לדוגמה, קובץ ה-JSON של ההגדרות של התוסף Cloud Logging כולל אובייקטmetadataשהתוכן שלו מועבר אל Cloud Logging. שמות מפתחות שגויים, כמוtypבמקוםtype, עלולים להחזיר שגיאות מהמשאב החיצוני שמופיעות כרשומות ביומן של התוסף:details: 'Resource type cannot be empty'ערכים שגויים שהתוסף העריך
השגיאות האלה כוללות שגיאות תחביר בחלקים של רכיב
<Input>JSON שעברו הערכה של מדיניות, איות שגוי של שם הפעולה ברכיב<Action>וכן הלאה. השגיאות האלה בדרך כלל יופיעו בכלי Trace, אבל לא ביומני הרישום של התוסף.
ראיות בכלי המעקב
בכלי לעריכת פרוקסי, השגיאות האלה בדרך כלל יופיעו כשגיאה ברמה 4xx- או 5xx-. עם זאת, עורך ה-proxy לא יציג פרטים ספציפיים על הסיבה לשגיאה, אלא רק יציין שהתוסף החזיר שגיאה. השגיאה הבאה מופיעה בכלי Trace כשמאייתים לא נכון את שם הפעולה בתוסף Cloud Firestore.
{
"fault":{
"faultstring":"Execution of ConnectorCallout Add-User-Data failed. Reason: Connector returned error statuscode=404","detail":
{
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
הוכחות ביומני התוספים
אם הגדרת המדיניות גורמת לשגיאת עיבוד במשאב החיצוני, השגיאה בדרך כלל תופיע ביומן.
שגיאות שקשורות לבקשה של התוסף למשאב
זו שגיאה שבה הבקשה למשאב חיצוני לא הצליחה מסיבות שלא קשורות לתוסף.
לדוגמה, נניח שאתם משתמשים בתוסף Cloud Spanner כדי להוסיף שורה למסד הנתונים, אבל הערך של המפתח הראשי של השורה כבר נמצא בשימוש בשורה קיימת. Cloud Spanner יחזיר שגיאה לתוסף, והתוסף יוסיף את השגיאה ליומן התוסף.
ראיות בכלי המעקב
בכלי לעריכת שרת proxy, השגיאות האלה בדרך כלל יופיעו כשגיאה ברמה 4xx-
או 5xx-. עם זאת, עורך ה-proxy לא יציג פרטים ספציפיים על הסיבה לשגיאה, אלא רק יציין שהתוסף החזיר שגיאה.
{
"fault":{
"faultstring":"Execution of ConnectorCallout Add-User-Data failed. Reason: Connector returned error statuscode=404",
"detail":{
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
הוכחות ביומני התוספים
בדרך כלל, היומן יכלול רשומות עם הודעות מהמקור החיצוני עצמו. הודעת היומן הבאה מ-Cloud Spanner מתארת את השגיאה של ערך המפתח הראשי הקיים.
details: 'Row [jonesy42] in table user already exists'