

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
<a name="lambda-golang"></a>

Go wird anders implementiert als andere verwaltete Laufzeiten. Da Go nativ zu einer ausführbaren Binärdatei kompiliert wird, ist keine spezielle Sprachlaufzeit erforderlich. Verwenden Sie eine [reine Betriebssystemlaufzeit](runtimes-provided.md) (die `provided`-Laufzeit-Familie), um Go-Funktionen für Lambda bereitzustellen.

**Topics**
+ [Unterstützte Go-Laufzeiten](#golang-al1)
+ [Tools und Bibliotheken](#golang-libraries)
+ [Definieren des Lambda-Funktions-Handlers in Go](golang-handler.md)
+ [Verwenden des Lambda-Kontextobjekts zum Abrufen von Go-Funktionsinformationen](golang-context.md)
+ [Bereitstellen von Lambda-Go-Funktionen mit ZIP-Dateiarchiven](golang-package.md)
+ [Bereitstellen von Go-Lambda-Funktionen mit Container-Images](go-image.md)
+ [Arbeiten mit Ebenen für Go Lambda-Funktionen](golang-layers.md)
+ [Go-Lambda-Funktionen protokollieren und überwachen](golang-logging.md)
+ [Go-Code instrumentieren in AWS Lambda](golang-tracing.md)

## Unterstützte Go-Laufzeiten
<a name="golang-al1"></a>

Die verwaltete Laufzeit Go 1.x für Lambda ist [veraltet](lambda-runtimes.md#runtime-support-policy). Wenn Sie Funktionen haben, die die Go 1.x-Laufzeit verwenden, müssen Sie Ihre Funktionen nach `provided.al2023` oder `provided.al2` migrieren. Die `provided.al2` Laufzeiten `provided.al2023` und bieten mehrere Vorteile gegenüber`go1.x`, darunter Unterstützung für die 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 im Compute-Blog unter [AWS Lambda Funktionen von der GO1.x-Laufzeit zur benutzerdefinierten Laufzeit auf Amazon Linux 2 migrieren](https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/).AWS *


| Name | ID | Betriebssystem | Datum der Veraltung | Blockfunktion erstellen | Blockfunktion aktualisieren | 
| --- | --- | --- | --- | --- | --- | 
| Reine OS-Laufzeit | `provided.al2023` | Amazon Linux 2023 |  30. Juni 2029  |  31. Juli 2029  |  31. August 2029  | 
| Reine OS-Laufzeit | `provided.al2` | Amazon Linux 2 |  31. Juli 2026  |  31. August 2026  |  30. September 2026  | 

## Tools und Bibliotheken
<a name="golang-libraries"></a>

Lambda stellt die folgenden Tools und Bibliotheken für die Go-Laufzeit bereit:
+ [AWS SDK für Go v2](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2): Das offizielle AWS SDK für die Programmiersprache Go.
+ [Github. com/aws/aws-lambda-go/lambda](https://github.com/aws/aws-lambda-go/tree/master/lambda): Die Implementierung des Lambda-Programmiermodells für Go. [Dieses Paket wird von verwendet AWS Lambda , um Ihren Handler aufzurufen.](golang-handler.md)
+ [Github. com/aws/aws-lambda-go/lambdacontext](https://github.com/aws/aws-lambda-go/tree/master/lambdacontext): Helfer für den Zugriff auf Kontextinformationen aus dem [Kontextobjekt](golang-context.md).
+ [Github. com/aws/aws-lambda-go/events](https://github.com/aws/aws-lambda-go/tree/master/events): Diese Bibliothek bietet Typdefinitionen für gängige Integrationen mit Ereignisquellen.
+ [Github. com/aws/aws-lambda-go/cmd/build-lambda-zip](https://github.com/aws/aws-lambda-go/tree/master/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](https://github.com/aws/aws-lambda-go) GitHub

Lambda stellt die folgenden Beispielanwendungen für die Go-Laufzeit bereit:

**Lambda-Beispielanwendungen in Go**
+ [go-al2](https://github.com/aws-samples/sessions-with-aws-sam/tree/master/go-al2): Eine Hello World-Funktion, die die öffentliche IP-Adresse zurückgibt. Diese App verwendet die benutzerdefinierte Laufzeit `provided.al2`.
+ [blank-go](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-go) — Eine Go-Funktion, die die Verwendung der Go-Bibliotheken, der Protokollierung, der Umgebungsvariablen und des SDK von Lambda zeigt. AWS Diese App verwendet die Laufzeit `go1.x`.