אפשר לציין את התלות של פונקציית Cloud Run באמצעות מודול Go או ספרייה vendor.
ציון יחסי תלות באמצעות מודולים של Go
כדי לציין יחסי תלות של פונקציות Cloud Run באמצעות מודול Go, צריך לרשום אותם בקובץ go.mod.
כשפורסים את הפונקציה, Go משלב אוטומטית את התלות בקובץ go.mod.
הסבר על יצירת קובץ go.mod זמין במאמר ניהול יחסי תלות ב-Go.
Functions Framework הוא תלות נדרשת לכל הפונקציות. למרות שפונקציות Cloud Run מתקינות אותו בשמכם כשיוצרים את הפונקציה, מומלץ לכלול אותו כתלות מפורשת כדי שהדברים יהיו ברורים.
אם הפונקציה שלכם מסתמכת על יחסי תלות פרטיים, מומלץ לשכפל את functions-framework למאגר הפרטי שלכם. כדי להימנע מהתקנת החבילה מהאינטרנט הציבורי, צריך לכלול את functions-framework המשוכפל כהסתמכות בפונקציה.
ציון יחסי תלות באמצעות ספריית vendor
בנוסף, פונקציות Cloud Run מאפשרות לכם לכלול את התלות שלכם באמצעות ספריית vendor.
שימוש בספריית ספקים יכול לעזור אם התלות שלכם לא זמינה דרך מנהל תלות, או אם הגישה לאינטרנט בסביבת פונקציות Cloud Run מוגבלת.
ברוב המקרים, ספריות vendor מתוחזקות באמצעות כלי לניהול תלות.
אתם יכולים להשתמש בכל מנהל תלות שתרצו. לדוגמה, אפשר להשתמש בפונקציונליות של מודולים ב-Go כדי ליצור ספרייה vendor מקובץ go.mod.
אתם צריכים לכלול את Functions Framework for Go בספריית הספקים שלכם. כדי להשתמש בערכת הכלים של Go:
מוסיפים את ההנחיה הבאה לבלוק הייבוא של קוד Go:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"מעדכנים את קובץ
go.modכך שיכלול את החבילה החדשה שיובאה:go mod tidyיוצרים ספרייה בשם
vendorבאמצעות התוכן של קובץgo.mod:go mod vendor
גרסאות Go ישנות יותר מ-1.16
בגרסאות של Go שקודמות לגרסה 1.16, אם יש לכם קובץ go.mod וספרייה vendor, המערכת תתעלם מהספרייה vendor כשאתם פורסים את הפונקציה.
כדי לוודא שהמערכת מתחשבת בספריית הספקים שלכם, צריך להשתמש בקובץ .gcloudignore כדי להימנע מהעלאה של קובצי go.mod ו-go.sum:
יוצרים קובץ
.gcloudignoreבתיקיית השורש של הפרויקט עם התוכן הבא:go.mod go.sum # Also ignore Git directories. Delete the following two lines if you want to # upload them. .git .gitignore
שימוש בתלות פרטית
אם התלות של הפונקציה מתארחת במאגר שלא נגיש לציבור, צריך להשתמש בספרייה vendor כדי לאחזר את התלות לפני פריסת הפונקציה. אם אתם מתכננים להשתמש בקובץ go.mod, כדאי לעיין בהוראות הקודמות כדי להימנע מהתנגשויות אפשריות בין קובץ go.mod לבין הספרייה vendor.