Community-Tutorial zur Entwicklung von Golang-Funktionen

王林
Freigeben: 2024-04-26 18:36:01
Original
463 Leute haben es durchsucht

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 Entwicklung von Golang-Funktionen

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
Nach dem Login kopieren

  • Cloud Functions-API aktivieren:
  • gcloud services enable cloudfunctions.googleapis.com
    Nach dem Login kopieren
  • Schritt 2: Go-Funktion schreiben

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)
}
Nach dem Login kopieren

    Schritt 3: Kompilieren und implementieren Sie die Funktion
  1. Kompilieren Sie Ihre Funktion:

    go build hello_world.go
    Nach dem Login kopieren

Stellen Sie Ihre Funktion bereit:

gcloud functions deploy hello_world \
--runtime go113 \
--entry-point HelloFunction \
--trigger-http \
--service-account my-service-account@my-functions-project.iam.gserviceaccount.com
Nach dem Login kopieren

Schritt 4: Testen Sie Ihre Funktion. hello_world.go 的文件并输入以下代码:

curl https://<REGION>-<PROJECT_ID>.cloudfunctions.net/hello_world
Nach dem Login kopieren

第 3 步:编译和部署函数

  1. 编译您的函数:

    if e.Data() == nil {
        return e.Respond(400, nil, event.ResultFailedPrecondition)
    }
    Nach dem Login kopieren

  2. 部署您的函数:

    rrreee
  3. 第 4 步:测试您的函数

    使用 cURL 测试您的函数:

    rrreee

    您应该会看到响应 "Hello World!"。

    第 5 步:处理错误

    我们稍早的示例函数在收到无效数据时会返回错误。我们可以通过查看 e.Data()

    🎜 Testen Sie Ihre Funktion mit cURL: 🎜rrreee🎜 Sie sollten die Antwort „Hello World!“ sehen. 🎜🎜🎜Schritt 5: Fehler behandeln 🎜🎜🎜Unsere frühere Beispielfunktion hat einen Fehler zurückgegeben, als sie ungültige Daten empfing. Wir können überprüfen, ob die Daten vorhanden sind, indem wir uns den Typ von e.Data() ansehen: 🎜rrreee

    Das 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage