בדיקה של פונקציות Cloud Run לפני הפריסה
במדריך הזה מוסבר איך לבדוק פונקציה ב-Cloud Run במסוף Google Cloud לפני שפורסים אותה. התכונה הזו זמינה לפונקציות Node.js ו-Python.
הכנת פונקציה לבדיקה
כדי להכין פונקציה לבדיקה:
פותחים את הדף Functions Overview במסוף Google Cloud :
כניסה לדף סקירה כללית של פונקציות Cloud Run
מוודאים שהפרויקט שבו הפעלתם את פונקציות Cloud Run נבחר.
לוחצים על יצירת פונקציה כדי ליצור פונקציית Node.js או Python חדשה, או בוחרים פונקציית Node.js או Python קיימת ולוחצים על עריכה כדי לערוך אותה.
לוחצים על הבא כדי לעבור לדף עריכת הקוד:

כדי להתחיל בתהליך הבדיקה, לוחצים על Test Function (בדיקת הפונקציה).
כשמוצגת בקשה, לוחצים על Start testing כדי לאשר את השימוש בטרמינל של Cloud Shell.
הרצת הבדיקה
אחרי שמבצעים את השלבים הקודמים, חלונית אירוע ההפעלה נפתחת בצד שמאל, ומופיע אישור שהפונקציה מוכנה לבדיקה. לוחצים על הפעלת הבדיקה:

השלב הזה בתהליך הבדיקה כולל את הרכיבים הבאים:
- חלונית אירועי הטריגר. החלונית של אירוע ההפעלה מאוכלסת מראש במטען ייעודי (payload) שתואם לטריגר האירוע שציינתם בדף ההגדרות. זהו הקלט לפונקציה.
- חלון הפלט של Cloud Shell. בחלון הפלט של Cloud Shell מוצג קוד הסטטוס של HTTP וכל תגובה שמוחזרת למתקשר.
- הרצת הבדיקה מפעילה את הבדיקה.
אפשר לראות את הפלט מהבדיקה בחלון Cloud Shell:

טרמינל Cloud Shell
אפשר לראות את פלט הרישום של הפונקציה במסוף Cloud Shell בתחתית המסך. לדוגמה, כשפותחים את חלונית הבדיקה, רואים את הפלט של אריזת קוד המקור. כשמריצים בדיקה, רואים את השינויים בקוד המקור ואת הפלט ברמת הביצוע, כולל console.log ושגיאות.
אם הבדיקה נכשלת, במסוף Cloud Shell מוצגת הודעת שגיאה שתעזור לכם לזהות את הסיבה המדויקת לבעיה. לדוגמה:
[11:31:47 AM] - Provided module can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /workspace/index.js:11
: 'World';
^
SyntaxError: Unexpected token ':'
at Object.compileFunction (node:vm:360:18)
at wrapSafe (node:internal/modules/cjs/loader:1048:15)
at Module._compile (node:internal/modules/cjs/loader:1083:27)
at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
at Module.load (node:internal/modules/cjs/loader:997:32)
at Module._load (node:internal/modules/cjs/loader:838:12)
at Module.require (node:internal/modules/cjs/loader:1021:19)
at require (node:internal/modules/cjs/helpers:103:18)
at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30)
at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32)
[11:31:47 AM] - Could not load the function, shutting down.
כלים לפריסה
אחרי שמסיימים את הבדיקה, אפשר לפרוס את הפונקציה כרגיל בלחיצה על Deploy (פריסה).