בדף הזה מפורטות בעיות מוכרות ב-Cloud Endpoints Frameworks.
Java ו-Python
בקטע הזה מתוארות בעיות מוכרות שמשפיעות על גרסאות Java ו-Python של Endpoints Frameworks.
זמן קצוב לתפוגה של בקשה
בממשקי API שמשתמשים בגרסה 2 של Endpoints Frameworks, הזמן הקצוב לתפוגה של הבקשה הוא 60 שניות.
העברה של Endpoints Frameworks
כשמעבירים את ה-API ל-Endpoints Frameworks גרסה 2, צריך לפרוס את ה-API לאפליקציית App Engine חדשה. אם משתמשים מחדש באפליקציית App Engine הישנה, יכול להיות שבקשות שמתחילות בנתיב של גרסה 1, /_ah/spi, ינותבו לעורף של Endpoints Frameworks גרסה 2, שבו הנתיבים צריכים להתחיל ב-/_ah/api.
ביצועים נמוכים במופעים של שינוי גודל אוטומטי
ב-App Engine יש שלושה סוגים של התאמה לעומס: בסיסית, ידנית ואוטומטית. Endpoints Frameworks משתמש בשרשורים ברקע, שמופעים של התאמה אוטומטית לעומס לא תומכים בהם. מסגרות Endpoints צריכות לתקשר עם שירותי Google כדי לבדוק מכסות ולדווח על פעילות של API, בין היתר. במקרים של מופעים עם קנה מידה בסיסי ומופעים עם קנה מידה ידני, השרשור ברקע מבצע את התקשורת הזו כדי למנוע האטה של הבקשות. עם זאת, מקרים של התאמה אוטומטית לעומס (automatic scaling) לא תומכים בשרשורים ברקע. במקום זאת, התקשורת עם שירותי Google מתבצעת במהלך הבקשה. המסגרות של נקודות הקצה עדיין פועלות, אבל יכול להיות שהביצועים שלהן יהיו פחות טובים.
בגלל הבעיה הזו, כדאי להגדיר סוג אחר של שינוי גודל. אפשר לעיין בקטעים הבאים בתיעוד של App Engine:
אין תמיכה בנתיבים עם לוכסנים בסוף
כשפורסים מסמך OpenAPI באמצעות gcloud endpoints services deploy, Cloud Endpoints דוחה מסמכי OpenAPI שכוללים נתיבים עם לוכסן בסוף, למשל:
paths:
"/echo/":
post:
description: "Echo back a given message."
ב-Endpoints Frameworks, צריך להסיר את קו הנטוי בסוף ב-Python method decorator או ב-Java method annotation.
Java
בקטע הזה מתוארות בעיות מוכרות ב-Endpoints Frameworks for Java.
Cloud Endpoints Frameworks for Java – גרסה 1.0.14 או גרסה ישנה יותר
כולל בעיה שבה שדות חדשים בהגדרת שירות Google גורמים לכשל בספריית Java של Cloud Endpoints Frameworks כשמנתחים את הגדרת השירות. השגיאות יהיו דומות לשגיאות הבאות כשמשתמשים בהגדרות שירות שנוצרו אחרי 5 בדצמבר 2024:
Failed to parse the HTTP response as service configuration
com.google.api.config.ServiceConfigException: Failed to parse the HTTP response as service configuration
מידע נוסף על שדרוג לגרסה 1.0.15 ואילך זמין בהערות הגרסה.
מסגרות (frameworks) של נקודות קצה (endpoints) ב-Java מדור קודם (גרסה 1)
בגרסה 1 של Endpoints Frameworks for Java יש באג שגורם להצגת חריגה כשמבצעים הערה של enum. הבעיה הזו נגרמת בגלל תלות בגרסה ישנה של Jackson. כדי לעקוף את הבעיה, צריך לעבור לגרסה 2 של Endpoints Frameworks.
Python
בקטע הזה מתוארות בעיות מוכרות ב-Endpoints Frameworks for Python.
הודעת שגיאה: ImportError: cannot import name locked_file
כשמריצים את pip install עם קובץ requirements.txt, יכול להיות שתופיע הודעת שגיאה ImportError: cannot import name locked_file. הבעיה נגרמת כש-pip מתקין גרסה של חבילת oauth2client שלא תואמת ל-google-endpoints-api-management. כדי לעקוף את הבעיה, צריך לוודא שהשורות google-endpoints ו-google-endpoints-api-management מופיעות ראשונות בקובץ requirements.txt. לדוגמה:
מוסיפים דרישות אחרות אחרי השורות האלה.
ה-API מחזיר שגיאות 404 כשבודקים באופן מקומי
תסמין: כל נקודות הקצה מחזירות 404 כשמשתמשים ב-dev_appserver.py כדי לבדוק את ה-API באופן מקומי, אבל כשפורסים את ה-API ב-App Engine, נקודות הקצה מגיבות כצפוי. הבעיה הזו נצפתה באפליקציות שמשתמשות בספריית Django-six.
הבעיה הזו נגרמת בגלל סתירה בין גרסאות של הספרייה python-future,
שנכללת גם בספריית Endpoints Frameworks for Python וגם בספריית Django-six. בשלב הזה לא ידוע מהי הגרסה המדויקת של ספריית Django-six שגורמת להתנגשות.