You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CloudWatch Synthetics监控API:依赖加载失败求助

解决CloudWatch Synthetics Canary依赖加载失败的问题

1. 修正Zip包目录结构

CloudWatch Synthetics对Canary的Zip包结构有严格要求,你当前的nodejs/node_modules/myCanaryFolder/myCanaryFile.js嵌套结构不符合规范,正确结构需满足:

  • Canary脚本文件(如myCanaryFile.js)直接放在Zip根目录
  • 依赖包全部放在根目录下的node_modules文件夹内

正确结构示例:

myCanary.zip
├── myCanaryFile.js
└── node_modules/
    ├── axios/
    ├── lodash/
    ...(所有依赖包)

2. 打包操作注意事项

  • 进入包含脚本和node_modules的目录,直接选中这两个元素打包,不要将上层目录(如nodejs)包含进去
  • 若使用package.json,需将其也放在Zip根目录(非强制,但能帮助Synthetics确认依赖配置)
  • 避免将脚本放在自定义子文件夹(如myCanaryFolder)内,除非脚本中所有路径引用都做了对应调整

3. 确保依赖安装正确

  • 安装依赖时使用npm install,不要加--save-dev,Synthetics运行环境仅需要生产依赖
  • 若依赖包含原生模块,需针对Linux x86_64架构安装(Synthetics基于Amazon Linux 2 x86_64实例),执行命令:
    npm install --platform=linux --arch=x64
    
  • 检查node_modules目录,确保所有依赖包完整无缺失

4. 脚本路径引用检查

  • 引用第三方依赖时直接使用模块名,如const axios = require('axios'),不要使用相对路径
  • 若引用自定义本地模块,需确保模块文件放在Zip根目录,或脚本中使用正确的相对路径指向模块位置

5. 本地验证Zip包有效性

  • 解压打包后的Zip文件,确认结构符合要求
  • 在本地用Node.js执行脚本,检查是否能正常加载依赖,排除脚本本身的逻辑问题

内容的提问来源于stack exchange,提问作者Kirti Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:38:13