CloudWatch Canary が「Cannot find module '/opt/nodejs/node_modules/myfunction」というエラーで失敗するのはなぜですか?

最終更新日: 2020 年 10 月 16 日

Amazon CloudWatch Canary が「Cannot find module '/opt/nodejs/node_modules/myfunction」というエラーで失敗するのはなぜですか?

解決方法

関数と依存関係の .zip ファイルを作成するときに CloudWatch で必要な構造を使用しないと、エラーが発生します。エラーメッセージは、次のようになります: Cannot find module '/opt/nodejs/node_modules/myfunction

.zip ファイルは nodejs/node_modules のファイルパス (nodejs/node_modules/myCanaryFilename.js など) の下に作成する必要があります。 

1.    必要な構造を作成します。

mkdir -p /nodejs/node_modules/

2.    CloudWatch Canary 関数を /nodejs/node_modules/ にコピーします。
注意: ハンドラの命名規則は filename.handler です。

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

3.    / nodejs の先頭でディレクトリを圧縮します。

zip -r Canary.zip ./nodejs/*

注意: Synthetics Canary を最初から作成する場合、複数の .js ファイルまたはスクリプトの依存関係がある場合は、すべてのファイルを 1 つの .zip ファイルにバンドルします。次のフォルダ構造を使用します:「nodejs/node_modules」。たとえば、nodejs/node_modules/myCanaryFilename.js ファイルやその他のフォルダおよびファイルです。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?