Dieses Tutorial führt Sie durch die Entwicklung und Bereitstellung von Community-Cloud-Funktionen mit Go: Einrichten Ihres Projekts und Aktivieren der Cloud Functions-API. Schreiben Sie eine Go-Funktion und erstellen Sie eine Datei mit dem Code. Funktionen kompilieren und bereitstellen. Testen Sie Funktionen mit cURL. Behandeln Sie Fehler und geben Sie entsprechende Antwortcodes zurück.
Community-Tutorial zur Go-Funktionsentwicklung
In diesem Tutorial lernen Sie, wie Sie mit der Go-Sprache Funktionen entwickeln und diese in der Community-Laufzeitumgebung bereitstellen. Wir gehen den Prozess Schritt für Schritt durch und stellen Ihnen einen praktischen Fall zur Verfügung, damit Sie ihn selbst erleben können.
Voraussetzungen: Go 1.18 oder höher installiert Erstellen Sie ein neues Google Cloud-Projekt:
gcloud projects create my-functions-project
gcloud services enable cloudfunctions.googleapis.com
Erstellen Sie ein Projekt mit dem Namen hello_world.go
-Datei und geben Sie den folgenden Code ein :
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) }
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
Schritt 4: Testen Sie Ihre Funktion. hello_world.go
的文件并输入以下代码:
curl https://<REGION>-<PROJECT_ID>.cloudfunctions.net/hello_world
第 3 步:编译和部署函数
编译您的函数:
if e.Data() == nil { return e.Respond(400, nil, event.ResultFailedPrecondition) }
部署您的函数:
rrreee第 4 步:测试您的函数
使用 cURL 测试您的函数:
rrreee您应该会看到响应 "Hello World!"。
第 5 步:处理错误
我们稍早的示例函数在收到无效数据时会返回错误。我们可以通过查看 e.Data()
e.Data()
ansehen: 🎜rrreeeDas obige ist der detaillierte Inhalt vonCommunity-Tutorial zur Entwicklung von Golang-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!