Perché il canary CloudWatch restituisce l’errore "Cannot find module '/opt/nodejs/node_modules/myfunction"?

1 minuti di lettura
0

Perché il canary Amazon CloudWatch restituisce l’errore "Cannot find module '/opt/nodejs/node_modules/myfunction"?

Risoluzione

Se non utilizzi la struttura richiesta da CloudWatch per creare un file.zip della funzione e delle dipendenze, si verifica un errore. Il messaggio di errore è il seguente: Cannot find module '/opt/nodejs/node_modules/myfunction.

È necessario creare il file.zip nel percorso nodejs/node_modules (ad esempio nodejs/node_modules/myCanaryFilename.js). Per creare il file.zip con il percorso corretto, procedi come segue:

1.    Crea la struttura richiesta.

mkdir -p /nodejs/node_modules/

2.    Copia la funzione canary CloudWatch in /nodejs/node_modules/.
Nota: il formato di denominazione del gestore è filename.handler.

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

3.    Comprimi la directory nella parte superiore di /nodejs.

zip -r Canary.zip ./nodejs/*

Nota: quando crei un canary Synthetics da zero, se disponi di più file.js o dipendenze da script, raggruppa tutti i file in un unico file.zip. Usa la seguente struttura di cartelle: "nodejs/node_modules". Ad esempio, il file nodejs/node_modules/myCanaryFilename.js e le altre cartelle e file.


Informazioni correlate

Packaging your canary files

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa