Maison  >  Article  >  développement back-end  >  Tutoriel communautaire sur le développement de fonctions Golang

Tutoriel communautaire sur le développement de fonctions Golang

王林
王林original
2024-04-26 18:36:01416parcourir

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 Golang

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

  • Go 1.18 ou supérieur installé
  • SDK Google Cloud installé
  • Possède un compte Google Cloud avec facturation activée

Étape 1 : Configurer un projet Cloud Functions

  1. Créez un nouveau Projet Google Cloud :

    gcloud projects create my-functions-project
  2. 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 步:编译和部署函数

  1. 编译您的函数:

    go build hello_world.go
  2. 部署您的函数:

    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)
}

🎜Étape 3 : Compilez et déployez la fonction 🎜🎜🎜🎜🎜Compilez votre fonction : 🎜rrreee🎜🎜🎜Déployez votre fonction : 🎜rrreee🎜🎜🎜🎜Étape 4 : Testez votre fonction 🎜 🎜🎜 Testez votre fonction en utilisant cURL : 🎜rrreee🎜 Vous devriez voir la réponse "Hello World !". 🎜🎜🎜Étape 5 : Gestion des erreurs 🎜🎜🎜Notre exemple de fonction précédent a renvoyé une erreur lorsqu'elle a reçu des données non valides. Nous pouvons vérifier si les données existent en regardant le type de e.Data() : 🎜rrreee

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn