Maison >développement back-end >Golang >Runtime al2 personnalisé Lambda avec golang, délai d'expiration de la phase d'initialisation
J'ai une fonction lambda existante avec le runtime go1.x qui fonctionne bien avec les déclencheurs sqs. Essayez de mettre à jour la fonction pour utiliser le nouveau runtime fourni.al2 comme décrit ici.
https://aws.amazon.com/blogs/compute/migration-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/
Les binaires portant le nom bootstrap ont été mis à jour avec cette commande de build mise à jour.
GOOS=linux GOARCH=amd64 go build -o bootstrap
Après la mise à jour de ce nouveau package et la modification du runtime, l'exécution expire toujours pendant la phase d'initialisation.
INIT_REPORT Durée d'initialisation : 10008,47 ms Phase : init Statut : Timeout
INIT_REPORT Durée d'initialisation : 60060,47 ms Phase : Appel Statut : Erreur Type d'erreur : Runtime.Unknown
Le même code fonctionne lorsque je change le binaire en main et que je reviens au runtime go1.x. Quelqu'un peut-il m'aider ?
Éditeur :
Le problème a été résolu après la mise à jour de la bibliothèque aws-lambda-go vers la dernière version.
L'ancienne version fonctionnait très bien avec Go 1.x. Mais pour utiliser un environnement d'exécution Amazon Linux 2 personnalisé, vous devez mettre à jour les bibliothèques vers la dernière version.
Il s'avère que la bibliothèque github.com/aws/aws-lambda-go utilisée dans le code existant n'est pas compatible avec le nouveau runtime al2. Cette bibliothèque a été mise à jour vers la dernière version et le problème d'erreur de délai d'initialisation a été résolu
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!