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

Tutoriel communautaire sur le développement de fonctions Golang

王林
Libérer: 2024-04-26 18:36:01
original
486 Les gens l'ont consulté

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
    Copier après la connexion
  2. Activer l'API Cloud Functions :

    gcloud services enable cloudfunctions.googleapis.com
    Copier après la connexion

É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)
}
Copier après la connexion

第 3 步:编译和部署函数

  1. 编译您的函数:

    go build hello_world.go
    Copier après la connexion
  2. 部署您的函数:

    gcloud functions deploy hello_world \
    --runtime go113 \
    --entry-point HelloFunction \
    --trigger-http \
    --service-account my-service-account@my-functions-project.iam.gserviceaccount.com
    Copier après la connexion

第 4 步:测试您的函数

使用 cURL 测试您的函数:

curl https://<REGION>-<PROJECT_ID>.cloudfunctions.net/hello_world
Copier après la connexion

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

第 5 步:处理错误

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

if e.Data() == nil {
    return e.Respond(400, nil, event.ResultFailedPrecondition)
}
Copier après la connexion
🎜É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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal