Heim >Backend-Entwicklung >Golang >Benutzerdefinierte Lambda-AL2-Laufzeit mit Golang, Zeitüberschreitung bei der Initialisierungsphase
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.
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!