Erstellen von Lambda-Funktionen mit Go - AWS Lambda

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.

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 im AWS Compute Blog .

Nur OS
Name ID Betriebssystem Datum der Veraltung Blockfunktion erstellen Blockfunktion aktualisieren

Reine OS-Laufzeit

provided.al2023

Amazon Linux 2023

Reine OS-Laufzeit

provided.al2

Amazon Linux 2

Tools und Bibliotheken

Lambda stellt die folgenden Tools und Bibliotheken für die Go-Laufzeit bereit:

Weitere Informationen finden Sie unter aws-lambda-go auf GitHub.

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.