זמן הריצה של Go
סקירה כללית
הפונקציה של Cloud Run פועלת בסביבה שכוללת גרסת מערכת הפעלה, חבילות של תוספים, תמיכה בשפה וספריית Functions Framework שתומכת בפונקציה ומפעילה אותה. הסביבה הזו מזוהה לפי גרסת השפה, והיא נקראת זמן ריצה.
מידע על סביבות ריצה באופן כללי, ועל גרסת Ubuntu שבה כל סביבת ריצה של Go משתמשת, זמין במאמר סביבת ההפעלה של פונקציות Cloud Run.
בחירת זמן הריצה
פונקציות Cloud Run תומכות בכמה גרסאות של Go, שמפורטות בדף תמיכה בזמן ריצה. במהלך הפריסה, אפשר לבחור את זמן הריצה המועדף של Go לפונקציה.
אם אתם משתמשים ב-Google Cloud CLI, אתם יכולים לציין את סביבת זמן הריצה באמצעות הפרמטר --runtime עם סביבת זמן הריצה של Go שתבחרו.
לדוגמה:
gcloud functions deploy FUNCTION_NAME --no-gen2 --runtime go121 FLAGS...
FLAGS... מתייחס לארגומנטים שמועברים במהלך הפריסה הראשונה של הפונקציה. מידע נוסף על ארגומנטים נדרשים ואופציונליים זמין במאמר פריסת פונקציה ב-Cloud Run.
הכנת הפונקציה
אתם יכולים לכתוב פונקציה במחשב המקומי ולהעלות אותה. כדי להכין את המחשב המקומי לפיתוח ב-Go, אפשר לעיין במאמר הגדרת סביבת פיתוח ב-Go.
כדי להתחיל במהירות להשתמש ב-Go בפונקציות Cloud Run, אפשר לעיין במדריך למתחילים.
מבנה קוד המקור
כדי שפונקציות Cloud Run יוכלו למצוא את ההגדרה של הפונקציה, קוד המקור צריך להיות בנוי במבנה מסוים. מידע נוסף זמין במאמר כתיבת פונקציות Cloud Run.
ציון יחסי תלות
פונקציות Cloud Run ב-Go צריכות לספק את כל התלות שלהן באמצעות מודולים של Go וקובץ go.mod, או באמצעות ספרייה vendor. מידע נוסף זמין במאמר בנושא Specifying dependencies in Go.
משתני סביבה
זמן הריצה של Go מגדיר באופן אוטומטי משתני סביבה מסוימים שהפונקציה יכולה להשתמש בהם לפי הצורך. פרטים נוספים זמינים במאמר בנושא שימוש במשתני סביבה.
Context type
חבילת context Go מגדירה את Context
הסוג, שכולל מועדים, אותות ביטול וערכים אחרים בהיקף הבקשה, בין גבולות ה-API ובין תהליכים.
בדוגמה הבאה של קוד פונקציות Cloud Run אפשר לראות גישה להקשר על ידי לקוח Pub/Sub: