Heim > Backend-Entwicklung > Golang > Verwendung von AWS Lambda in Go: Eine vollständige Anleitung

Verwendung von AWS Lambda in Go: Eine vollständige Anleitung

王林
Freigeben: 2023-06-17 20:00:08
Original
1044 Leute haben es durchsucht

AWS Lambda in Go verwenden: Eine vollständige Anleitung

AWS Lambda ist eine leistungsstarke Serverless-Computing-Plattform, mit der Sie Code in der Cloud ausführen können, ohne sich um die Servereinrichtung und -verwaltung kümmern zu müssen. Für Go-basierte Anwendungen bietet AWS Lambda eine extrem hohe Verfügbarkeit und Skalierbarkeit und ist daher die erste Wahl vieler Go-Entwickler. Dieser Leitfaden führt Sie durch die Verwendung von AWS Lambda in der Go-Sprache.

  1. Richten Sie die AWS CLI und das AWS SDK ein.

Bevor Sie beginnen, müssen Sie die AWS CLI und das AWS SDK installieren, um mit Lambda interagieren zu können. Mit der AWS CLI können Sie AWS-Dienste ganz einfach über die Befehlszeilenschnittstelle aufrufen, während Sie mit dem AWS SDK die Programmierung mit einer Vielzahl von Programmiersprachen durchführen können. Sie können das für Ihre Plattform geeignete Installationsprogramm von der offiziellen AWS-Website herunterladen.

  1. Erstellen oder wählen Sie einen S3-Bucket aus.

Der AWS Lambda-Code muss in den S3-Bucket hochgeladen werden. Wenn Sie noch keinen Bucket erstellt haben, können Sie einen erstellen, indem Sie die folgenden Schritte ausführen:

  • Melden Sie sich bei der AWS-Konsole an und wählen Sie den S3-Dienst aus.
  • Klicken Sie auf die Schaltfläche „Bucket erstellen“.
  • Geben Sie einen eindeutigen globalen Bucket-Namen ein und wählen Sie eine Region aus.
  • Aktivieren Sie die Option „Versionskontrolle aktivieren“, um sicherzustellen, dass Ihr Lambda-Code bei der Aktualisierung Versionen verwalten kann.
  1. Lambda-Funktionscode schreiben

Als nächstes müssen Sie den Lambda-Funktionscode der Go-Sprache schreiben, der zu Ihrer Anwendung passt.

Erstellen Sie zunächst einen Ordner zum Speichern des Codes und erstellen Sie darin eine Datei mit dem Namen main.go. Sie können den folgenden Beispielcode in Ihre Datei einfügen:

package main

import (
    "context"
    "fmt"
    "github.com/aws/aws-lambda-go/lambda"
)

type Request struct {
    Name string `json:"name"`
}

type Response struct {
    Greeting string `json:"greeting"`
}

func HandleRequest(ctx context.Context, request Request) (Response, error) {
    message := fmt.Sprintf("Hello, %s!", request.Name)
    return Response{Greeting: message}, nil
}

func main() {
    lambda.Start(HandleRequest)
}
Nach dem Login kopieren

Im obigen Code erstellt die HandleRequest-Funktion die Willkommensnachricht, indem sie das Namensfeld aus der Anfrage extrahiert und als Antwort sendet. Sie haben außerdem bemerkt, dass wir das Codepaket „go-lambda“ importiert haben, insbesondere „aws/aws-lambda-go/lambda“, das die vollständige Funktionalität bereitstellt, die von AWS Lambda Go-Sprachentwicklern benötigt wird.

  1. Lambda-Funktionscode kompilieren

Um Go-Code auf Lambda bereitzustellen, müssen Sie den Code in eine Binärdatei kompilieren. Hier sind die Schritte dazu:

  • Öffnen Sie ein Terminal in Ihrem Codeverzeichnis und führen Sie den folgenden Befehl aus, um eine ausführbare Datei zu erstellen:
GOOS=linux GOARCH=amd64 go build -o main main.go
Nach dem Login kopieren
  • Laden Sie die Datei in einen S3-Bucket hoch:
aws s3 cp main s3://your-bucket-name/
Nach dem Login kopieren
  1. Erstellen Lambda-Funktion

Jetzt können Sie den AWS Lambda-Service verwenden, um eine neue Lambda-Funktion zum Ausführen Ihres Codes zu erstellen.

  • Melden Sie sich bei der AWS-Konsole an und wählen Sie den Lambda-Dienst aus.
  • Klicken Sie auf die Schaltfläche „Funktion erstellen“.
  • Auf der Registerkarte „Grundlegende Informationen zur Funktion“:

    • Wählen Sie die Option „Vorhandene Rolle verwenden“ und wählen Sie eine vorhandene Rolle aus, oder klicken Sie auf „Neue Rolle erstellen“ und folgen Sie den Anweisungen, um eine neue Rolle zu erstellen. Mit dieser Rolle autorisieren Sie Ihre Lambda-Funktion für den Zugriff auf andere AWS-Dienste und -Ressourcen.
    • Geben Sie Ihrer Lambda-Funktion einen eindeutigen Namen und wählen Sie eine geeignete Laufzeit. Hier verwenden wir Go 1.x.
  • Auf der Registerkarte „Funktionscode“:

    • Wählen Sie die Option „Datei aus S3-Bucket hochladen“ und geben Sie den Namen Ihres S3-Buckets und den Pfad der Binärdatei ein.
    • Setzen Sie den Wert des Felds „Handler“ auf den Binärdateinamen (ohne die Erweiterung „.go“ oder „.exe“) und den Funktionsnamen. Zum Beispiel „main.HandleRequest“.
  • In „Erweiterte Einstellungen“ können Sie die Lambda-Funktion weiter konfigurieren, z. B. die verwendete Speichergröße, Timeout, Umgebungsvariablen usw. bestätigen. Klicken Sie dann auf die Schaltfläche „Funktion erstellen“, um eine Lambda-Funktion zu erstellen.
  1. Testen von Lambda-Funktionen

Sie können Ihre Funktion testen, indem Sie in der AWS-Konsole ein Testereignis dafür erstellen. Erstellen Sie ein JSON-Testereignis wie:

{
   "name": "Bob"
}
Nach dem Login kopieren

Klicken Sie dann auf die Schaltfläche „Test“, um Ihre Funktion auszuführen und zu prüfen, ob sie die erwartete Ausgabe zurückgibt.

Fazit

Jetzt haben Sie gelernt, wie Sie AWS Lambda in der Go-Sprache verwenden. Obwohl dies nur eine Einführung ist (für AWS Lambda sind viele Funktionen verfügbar), sollte es Ihnen genügend Informationen liefern, damit Sie mit dem Erstellen und Bereitstellen Ihrer eigenen Anwendungen mit AWS Lambda experimentieren können. Viel Glück!

Das obige ist der detaillierte Inhalt vonVerwendung von AWS Lambda in Go: Eine vollständige Anleitung. 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