您可以使用 Go 模組或 vendor
目錄指定 Cloud Run 函式依附元件。
使用 Go 模組指定依附元件
如要使用 Go 模組指定 Cloud Run 函式依附元件,請在 go.mod
檔案中列出這些依附元件。部署函式時,Go 會自動納入 go.mod
檔案中的依附元件。
如要建立 go.mod
檔案,請參閱「在 Go 中管理依附元件」。
Functions Framework 是所有函式的必要依附元件。雖然 Cloud Run 函式會在函式建立時代您安裝此套件,但為了清楚起見,建議您將其納入為明確的依附元件。
如果函式需要私人依附元件,建議您將 functions-framework
鏡像複製到私人登錄。將鏡像 functions-framework
納入函式的依附元件,避免從公開網際網路安裝套件。
使用 vendor
目錄指定依附元件
Cloud Run 函式也允許您透過 vendor
目錄納入依附元件。如果無法透過依附元件管理工具使用依附元件,或是 Cloud Run 函式環境的網路存取權受限,建議您使用供應商目錄。
在多數情況下,vendor
目錄是由依附元件管理員進行維護。您可以依喜好使用任何依附元件管理員。例如,您可以使用 Go 的模組功能,從 go.mod
檔案建立 vendor
目錄。
您必須在供應商目錄中加入 Go 的函式架構。如要使用 Go 工具鍊執行此操作,請按照下列步驟操作:
將下列指令加入 Go 程式碼的匯入區塊:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
更新
go.mod
檔案,加入新匯入的套件:go mod tidy
使用
go.mod
檔案的內容建立vendor
目錄:go mod vendor
1.16 以下的 Go 版本
如果您使用的是 1.16 以下版本的 Go,且擁有 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
目錄之間的潛在衝突。