为什么我的 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

您必须在 nodejs/node_modules 文件路径下创建 .zip 文件(例如 nodejs/node_modules/myCanaryFilename.js)。 

1.    创建所需的结构。

mkdir -p /nodejs/node_modules/

2.    将您的 CloudWatch Canary 函数复制到 /nodejs/node_modules/
注意:处理程序命名规则为 文件名.处理程序

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

3.    在 /nodejs 上压缩您的目录。

zip -r Canary.zip ./nodejs/*

注意:在从头开始创建 Synthetics Canary 时,如果您有多个 .js 文件或脚本依赖项,则应将所有文件捆绑到一个 .zip 文件中。使用以下文件夹结构:“nodejs/node_modules”。例如,nodejs/node_modules/myCanaryFilename.js 文件和其他文件夹和文件。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?