אם לא מתקבלת תגובה מוצלחת מבקשה ל-Cloud Endpoints Frameworks API, אפשר להשתמש ב-Cloud Logging בGoogle Cloud מסוף כדי לפתור את הבעיה.
צפייה ביומנים
במסוף Google Cloud , נכנסים לדף Logging > Logs Explorer.
מהרשימה הנפתחת של הפרויקט בחלק העליון של הדף, בוחרים אתGoogle Cloud הפרויקט שבו יצרתם את ה-API.
בוחרים באפשרות GAE Application (אפליקציית GAE) ואז באפשרות All logs (כל היומנים).
משנים את טווח הזמנים עד שמופיעה שורה עם שגיאה.
לוחצים על הרחבת הכול כדי לראות את כל היומן של השגיאה.
בקטע הבא מופיע מידע לפתרון בעיות שקשורות להודעות שגיאה ספציפיות. אם לא הצלחתם לפתור את הבעיה, אתם יכולים להעתיק אחת מהרשומות ביומן שבהן מופיעה השגיאה ולהדביק אותה בקובץ טקסט. חשוב לכלול את היומן בכל פנייה ל-Google.
503 Service Unavailable
יכול להיות שיעברו כמה דקות עד ש-App Engine יגיב לבקשות בהצלחה. אם שולחים בקשה ומופיעה השגיאה 503, צריך להמתין כמה דקות ולנסות לשלוח את הבקשה שוב. אם עדיין לא מתקבלת תגובה, כדאי לבדוק את היומנים של Cloud Logging. בהמשך מפורטות כמה הודעות שגיאה שאולי יופיעו ביומני Cloud Logging.
| הודעת השגיאה | פתרון בעיות |
|---|---|
לא נמצא שירות YOUR_PROJECT_ID.appspot.com או שהגישה נדחתה. אם זה שירות Endpoints חדש, מוודאים שפרסתם את הגדרת השירות באמצעות gcloud.
|
השגיאה הזו נרשמת ביומנים של Endpoints Frameworks for Python אם המערכת לא מצליחה לטעון את הגדרות השירות שצוינו בקובץ app.yaml. השגיאה הזו יכולה לקרות אם לא פרסתם את מסמך OpenAPI של ה-API באמצעות gcloud endpoints services
deploy, או אם Service Management API לא מופעל. כשפורסים את מסמך ה-OpenAPI של ה-API, הפקודה gcloud מפעילה אוטומטית את הפעולות הבאות:
|
השירות YOUR_PROJECT_ID.appspot.com נמצא, אבל לא נמצאה הגדרת שירות לגרסה SERVICE_CONFIG_ID.
|
השגיאה הזו נרשמת ביומנים של Endpoints Frameworks for Python אם לא נמצא מזהה הגדרת השירות שציינתם עבור ENDPOINTS_SERVICE_VERSION בקובץ app.yaml.
כדי לפתור את השגיאה:
|
404 Not Found
אם עברתם לאחרונה לגרסה 2 של Endpoints Frameworks וקיבלתם את הודעת השגיאה 404 Not Found, תוכלו להיעזר בקטעים הבאים כדי לפתור את הבעיה:
בעיות בדוגמה Invoke-WebRequest
בגרסאות מסוימות של Windows PowerShell, הדוגמה Invoke-WebRequest במדריכים נכשלת. קיבלנו גם דיווח שהתשובה הכילה רשימה של בייטים לא חתומים שהיה צריך להמיר לתווים. אם הדוגמה Invoke-WebRequest לא החזירה את התוצאה הצפויה, נסו לשלוח את הבקשה באמצעות אפליקציה אחרת. הנה כמה הצעות:
- מפעילים את Cloud Shell ופועלים לפי השלבים של Linux במדריך שבו השתמשתם כדי לשלוח את הבקשה.
משתמשים באפליקציה של צד שלישי, כמו התוסף לדפדפן Chrome Postman (שמוצע על ידי
www.getpostman.com). כשיוצרים את הבקשה ב-Postman:- בוחרים באפשרות
POSTכפועל ה-HTTP. - בכותרת, בוחרים את המפתח
content-typeואת הערךapplication/json. - בגוף ההודעה, מזינים:
{"message":"hello world"} מזינים את כתובת ה-URL של האפליקציה לדוגמה. לדוגמה:
https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
- בוחרים באפשרות
מורידים ומתקינים את
curl, ומריצים אותו בשורת הפקודה. מערכת Windows לא מטפלת במירכאות כפולות שמוכללות בתוך מירכאות בודדות, ולכן צריך לשנות את האפשרות--dataבדוגמה, באופן הבא:--data "{\"message\":\"hello world\"}"
המאמרים הבאים
מתחילים להשתמש ב-Logs Explorer.
אפשר להשתמש במסננים כדי לבצע סינון מתקדם, למשל כדי לקבל את כל הבקשות עם זמן אחזור של יותר מ-300 אלפיות השנייה.