Pourquoi mon canary CloudWatch échoue-t-il avec l'erreur « Impossible de trouver le module '/opt/nodejs/node_modules/myfunction » ?

Date de la dernière mise à jour : 16/10/2020

Pourquoi mon canary Amazon CloudWatch échoue-t-il avec l'erreur « Impossible de trouver le module '/opt/nodejs/node_modules/myfunction » ?

Résolution

Si vous n'utilisez pas la structure requise par CloudWatch lors de la création d'un fichier .zip de votre fonction et de vos dépendances, vous recevrez une erreur. Le message d'erreur est : Impossible de trouver le module '/opt/nodejs/node_modules/myfunction.

Vous devez créer votre fichier .zip sous le chemin d'accès du fichier nodejs/node_modules (par exemple nodejs/node_modules/myCanaryFilename.js). 

1.    Créez la structure requise.

mkdir -p /nodejs/node_modules/

2.    Copiez votre fonction canary CloudWatch vers /nodejs/node_modules/.
Remarque : la convention de nommage du gestionnaire est filename.handler.

cp CanaryFunction.js /nodejs/node_modules/
cp -R /lib /nodejs/node_modules/

3.    Compressez votre répertoire sur /nodejs.

zip -r Canary.zip ./nodejs/*

Remarque : lorsque vous créez un Synthetics Canary à partir de zéro, si vous avez plusieurs fichiers .js ou plusieurs dépendances de script, regroupez tous les fichiers dans un seul fichier .zip. Utilisez la structure de dossier suivante : « nodejs/node_modules ». Par exemple, le fichier nodejs/node_modules/myCanaryFilename.js et d'autres dossiers et fichiers.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?