Warum schlägt mein Amazon CloudWatch-Canary mit der Fehlermeldung „Das Modul '/opt/nodejs/node_modules/myfunction konnte nicht gefunden werden“ fehl?
Behebung
Wenn Sie beim Erstellen einer ZIP-Datei Ihrer Funktion und Abhängigkeiten nicht die von CloudWatch geforderte Struktur verwenden, erhalten Sie eine Fehlermeldung. Die Fehlermeldung lautet: Das Modul '/opt/nodejs/node\ _modules/myfunction' kann nicht gefunden werden.
Sie müssen Ihre ZIP-Datei unter dem Dateipfad nodejs/node_modules erstellen (z. B. nodejs/node_modules/myCanaryFilename.js). Gehen Sie wie folgt vor, um Ihre ZIP-Datei unter dem richtigen Dateipfad zu erstellen:
1. Erstellen Sie die erforderliche Struktur.
mkdir -p /nodejs/node_modules/
2. Kopieren Sie Ihre CloudWatch-Canary-Funktion nach /nodejs/node_modules/.
Hinweis: Die Namenskonvention für Handler lautet filename.handler.
cp CanaryFunction.js /nodejs/node_modules/
cp -R /lib /nodejs/node_modules/
3. ZIP dein Verzeichnis oben in /nodejs.
zip -r Canary.zip ./nodejs/*
Hinweis: Wenn Sie einen Synthetics-Canary von Grund auf neu erstellen und mehrere .js-Dateien oder Skriptabhängigkeiten haben, bündeln Sie alle Dateien in einer einzigen ZIP-Datei. Verwenden Sie die folgende Ordnerstruktur: „nodejs/node\ _modules“. Zum Beispiel die Datei nodejs/node_modules/myCanaryFilename.js und andere Ordner und Dateien.
Weitere Informationen
Deine Canary-Dateien verpacken