Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen von Lambda-Funktionen mit Go
Go wird anders implementiert als andere verwaltete Laufzeiten. Da Go nativ in eine ausführbare Binärdatei kompiliert wird, ist keine dedizierte Sprachlaufzeit erforderlich. Verwenden Sie eine reine OS-Laufzeit (die provided
Laufzeitfamilie), um Go-Funktionen in Lambda bereitzustellen.
Themen
- Unterstützte Go-Laufzeiten
- Tools und Bibliotheken
- AWS Lambda-Funktions-Handler in Go
- AWS Lambda-Context-Objekt in Go
- Bereitstellen von Lambda-Go-Funktionen mit ZIP-Dateiarchiven
- Bereitstellen von Go-Lambda-Funktionen mit Container-Images
- AWS Lambda-Funktionsprotokollierung in Go
- AWS Lambda-Funktionsfehler in Go
- Instrumentieren von Go-Code in AWS Lambda
- Verwenden von -Umgebungsvariablen
Unterstützte Go-Laufzeiten
Die von Go 1.x verwaltete Laufzeit für Lambda ist veraltet. Wenn Sie Funktionen haben, die die Go 1.x-Laufzeit verwenden, müssen Sie Ihre Funktionen zu provided.al2023
oder migrierenprovided.al2
. Die provided.al2
Laufzeiten provided.al2023
und bieten mehrere Vorteile gegenüber go1.x
, darunter die Unterstützung der arm64-Architektur (AWS Graviton2-Prozessoren), kleinere Binärdateien und etwas schnellere Aufrufzeiten.
Für diese Migration sind keine Codeänderungen erforderlich. Die einzigen erforderlichen Änderungen betreffen die Erstellung Ihres Bereitstellungspakets sowie die Laufzeit, die Sie zur Erstellung Ihrer Funktion verwenden. Weitere Informationen finden Sie unter Migrieren von AWS Lambda Funktionen von der Go1.x-Laufzeit zur benutzerdefinierten Laufzeit auf Amazon Linux 2
Nur OS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | ID | Betriebssystem | Datum der Veraltung | Blockfunktion erstellen | Blockfunktion aktualisieren | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reine OS-Laufzeit |
|
Amazon Linux 2023 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reine OS-Laufzeit |
|
Amazon Linux 2 |
Tools und Bibliotheken
Lambda stellt die folgenden Tools und Bibliotheken für die Go-Laufzeit bereit:
-
AWS SDK for Go
: das offizielle AWS SDK für die Programmiersprache Go. -
github.com/aws/aws-lambda-go/lambda
: Die Implementierung des Lambda-Programmiermodells für Go. Dieses Paket wird von verwendet AWS Lambda , um Ihren Handler aufzurufen. -
github.com/aws/aws-lambda-go/lambdacontext
: Hilfsprogramme für den Zugriff auf Kontextinformationen aus dem Kontextobjekt . -
github.com/aws/aws-lambda-go/events:
Diese Bibliothek enthält Typdefinitionen für gängige Integrationen von Ereignisquellen. -
github.com/aws/aws-lambda-go/cmd/build-lambda-zip
: Dieses Tool kann verwendet werden, um ein ZIP-Dateiarchiv unter Windows zu erstellen.
Weitere Informationen finden Sie unter aws-lambda-go
Lambda stellt die folgenden Beispielanwendungen für die Go-Laufzeit bereit:
Lambda-Beispielanwendungen in Go
-
go-al2
: Eine Hello World-Funktion, die die öffentliche IP-Adresse zurückgibt. Diese App verwendet die benutzerdefinierte Laufzeit provided.al2
. -
blank-go
– Eine Go-Funktion, die die Verwendung der Go-Bibliotheken, Protokollierung, Umgebungsvariablen und des AWS SDK von Lambda zeigt. Diese App verwendet die Laufzeit go1.x
.