סביבת זמן הריצה של Go
סקירה כללית
הפונקציה של Cloud Run פועלת בסביבה שכוללת גרסת מערכת הפעלה, חבילות של תוספים, תמיכה בשפה וספריית Functions Framework שתומכת בפונקציה ומפעילה אותה. הסביבה הזו מזוהה לפי גרסת השפה, והיא נקראת זמן ריצה.
מידע כללי על סביבות ריצה ועל גרסת Ubuntu שבה משתמשת כל סביבת ריצה של Go זמין במאמר סביבת ההפעלה של פונקציות Cloud Run.
בחירת זמן הריצה
פונקציות Cloud Run תומכות בכמה גרסאות של Go, שמפורטות בדף Runtime support. אתם יכולים לבחור את זמן הריצה המועדף של 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. מידע נוסף זמין במאמר בנושא ציון יחסי תלות ב-Go.
משתני סביבה
זמן הריצה של Go מגדיר באופן אוטומטי משתני סביבה מסוימים שהפונקציה יכולה להשתמש בהם לפי הצורך. לפרטים, אפשר לעיין במאמר בנושא שימוש במשתני סביבה.
סוג Context
Go's context package מגדיר את Context
type, שכולל מועדים, אותות ביטול וערכים אחרים שרלוונטיים לבקשה, בין גבולות ה-API ובין תהליכים.
בדוגמה הבאה של קוד פונקציות Cloud Run אפשר לראות גישה להקשר על ידי לקוח Pub/Sub: