פתרון בעיות שקשורות לתגובות

אם לא מתקבלת תגובה מוצלחת מבקשה ל-Cloud Endpoints Frameworks API, אפשר להשתמש ב-Cloud Logging בGoogle Cloud מסוף כדי לפתור את הבעיה.

צפייה ביומנים

  1. במסוף Google Cloud , נכנסים לדף Logging > Logs Explorer.

    כניסה לדף Logs Explorer

  2. מהרשימה הנפתחת של הפרויקט בחלק העליון של הדף, בוחרים אתGoogle Cloud הפרויקט שבו יצרתם את ה-API.

  3. בוחרים באפשרות GAE Application (אפליקציית GAE) ואז באפשרות All logs (כל היומנים).

  4. משנים את טווח הזמנים עד שמופיעה שורה עם שגיאה.

  5. לוחצים על הרחבת הכול כדי לראות את כל היומן של השגיאה.

בקטע הבא מופיע מידע לפתרון בעיות שקשורות להודעות שגיאה ספציפיות. אם לא הצלחתם לפתור את הבעיה, אתם יכולים להעתיק אחת מהרשומות ביומן שבהן מופיעה השגיאה ולהדביק אותה בקובץ טקסט. חשוב לכלול את היומן בכל פנייה ל-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 מפעילה אוטומטית את הפעולות הבאות:
  • ‫Service Management API (servicemanagement.googleapis.com)
  • Cloud APIs (cloudapis.googleapis.com)
אם השבתתם אחד מהשירותים האלה, אתם צריכים להפעיל אותו מחדש. מידע נוסף זמין במאמר הפעלה והשבתה של ממשקי API.
השירות YOUR_PROJECT_ID.appspot.com נמצא, אבל לא נמצאה הגדרת שירות לגרסה SERVICE_CONFIG_ID. השגיאה הזו נרשמת ביומנים של Endpoints Frameworks for Python אם לא נמצא מזהה הגדרת השירות שציינתם עבור ENDPOINTS_SERVICE_VERSION בקובץ app.yaml. כדי לפתור את השגיאה:
  1. קבלת המזהה של הגדרת השירות.
  2. עורכים את קובץ app.yaml ומגדירים את ENDPOINTS_SERVICE_VERSION למזהה של הגדרת השירות.
  3. פורסים מחדש את האפליקציה:
    gcloud app deploy

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\"}"

המאמרים הבאים