Heim >Backend-Entwicklung >Golang >Benutzerdefinierte Lambda-AL2-Laufzeit mit Golang, Zeitüberschreitung bei der Initialisierungsphase

Benutzerdefinierte Lambda-AL2-Laufzeit mit Golang, Zeitüberschreitung bei der Initialisierungsphase

王林
王林nach vorne
2024-02-05 22:39:041200Durchsuche

带有 golang 的 Lambda 自定义 al2 运行时,初始化阶段超时

Frageninhalt

Ich habe eine bestehende Lambda-Funktion mit go1.x-Laufzeit, die gut mit SQL-Triggern funktioniert. Versuchen Sie, die Funktion zu aktualisieren, um die neue bereitgestellte.al2-Laufzeit zu verwenden, wie hier beschrieben.

https://aws.amazon.com/blogs/compute/migration-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/

Binärdateien mit dem Namen bootstrap wurden mit diesem aktualisierten Build-Befehl aktualisiert. GOOS=linux GOARCH=amd64 go build -o bootstrap

Nach dem Aktualisieren dieses neuen Pakets und dem Ändern der Laufzeit kommt es während der Initialisierungsphase immer zu einer Zeitüberschreitung der Ausführung.

INIT_REPORT Initialisierungsdauer: 10008,47 ms Phase: init Status: Timeout

INIT_REPORT Initialisierungsdauer: 60060,47 ms Phase: Aufrufstatus: Fehler Fehlertyp: Laufzeit.Unbekannt

Derselbe Code funktioniert, wenn ich die Binärdatei in „Main“ ändere und zurück zur go1.x-Laufzeit wechsle. Kann jemand helfen?

Herausgeber:

Das Problem wurde nach dem Update der aws-lambda-go-Bibliothek auf die neueste Version behoben.

Die alte Version lief sehr gut mit Go 1.x. Um jedoch eine benutzerdefinierte Amazon Linux 2-Laufzeitumgebung zu verwenden, müssen Sie die Bibliotheken auf die neueste Version aktualisieren.


Richtige Antwort


Es stellt sich heraus, dass die im vorhandenen Code verwendete Bibliothek github.com/aws/aws-lambda-go nicht mit der neuen al2-Laufzeitumgebung kompatibel ist. Diese Bibliothek wurde auf die neueste Version aktualisiert und das Problem mit dem Initialisierungs-Timeout-Fehler wurde behoben

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Lambda-AL2-Laufzeit mit Golang, Zeitüberschreitung bei der Initialisierungsphase. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen