Ce tutoriel vous guide tout au long du développement et du déploiement de Cloud Functions communautaires à l'aide de Go : configuration de votre projet et activation de l'API Cloud Functions. Écrivez une fonction Go et créez un fichier contenant le code. Compiler et déployer des fonctions. Testez les fonctions à l’aide de cURL. Gérez les erreurs et renvoyez les codes de réponse appropriés.
Tutoriel communautaire sur le développement de fonctions Go
Ce tutoriel vous guidera pour apprendre à utiliser le langage Go pour développer des fonctions et les déployer dans l'environnement d'exécution communautaire. Nous vous expliquerons le processus étape par étape et vous fournirons un cas pratique afin que vous puissiez en faire l'expérience par vous-même.
Prérequis
Étape 1 : Configurer un projet Cloud Functions
Créez un nouveau Projet Google Cloud :
gcloud projects create my-functions-project
Activer l'API Cloud Functions :
gcloud services enable cloudfunctions.googleapis.com
Étape 2 : Écrire la fonction Go
Créez un projet appelé fichier hello_world.go
et saisissez le code suivant : 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) }
e.Data()
: 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!