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!