本教學指導您使用 Go 開發和部署社群 Cloud Functions:設定專案並啟用 Cloud Functions API。編寫 Go 函數並建立包含程式碼的檔案。編譯和部署函數。使用 cURL 測試函數。處理錯誤並傳回適當的回應代碼。
Go 函數開發的社群教學
本教學將引導您了解如何使用Go 語言開發函數並將其部署到社區運作時環境。我們將逐步介紹這個過程,並提供一個實戰案例,讓您可以親身體驗。
前提條件
第1 步:設定Cloud Functions 專案
建立一個新的Google Cloud 專案:
gcloud projects create my-functions-project
啟用Cloud Functions API:
gcloud services enable cloudfunctions.googleapis.com
第2 步:編寫Go 函數
創建一個名為hello_world.go
的檔案並輸入以下程式碼:
package main import ( "context" "fmt" "log" "github.com/cloudevents/sdk-go/v2/event" ) func HelloFunction(ctx context.Context, e event.Event) error { msg := e.Data() if msg != nil { s := string(msg) log.Printf("Function invoked with data: %s", s) return fmt.Errorf("function failed with message: %s", s) } msg = []byte("Hello World!") log.Print("Function invoked without data") return e.Respond(200, msg, event.ResultOK) }
第3 步:編譯和部署函數
編譯您的函數:
go build hello_world.go
部署您的函數:
gcloud functions deploy hello_world \ --runtime go113 \ --entry-point HelloFunction \ --trigger-http \ --service-account my-service-account@my-functions-project.iam.gserviceaccount.com
第4 步:測試您的函數
使用cURL 測試您的函數:
curl https://<REGION>-<PROJECT_ID>.cloudfunctions.net/hello_world
您應該會看到回應"Hello World!"。
第 5 步:處理錯誤
我們稍早的範例函數在收到無效資料時會傳回錯誤。我們可以透過查看 e.Data()
的類型來檢查資料是否存在:
if e.Data() == nil { return e.Respond(400, nil, event.ResultFailedPrecondition) }
以上是golang函數開發的社群教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!