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

AWS CDK如何在本地运行API Gateway与Lambda进行开发测试

问题解答

1. 你此前的操作不是本地测试CDK构建应用的官方标准方案

普通版本SAM CLI没有原生适配CDK项目,手动执行cdk synth导出template.yml的方式属于非标准变通方案,官方针对CDK+SAM本地测试的指定方案是使用专门适配CDK的预览版工具。

2. 报错根因

使用普通版SAM时出现模块找不到的错误,核心原因是CDK执行cdk synth生成的模板中,Lambda的代码资产路径指向的是CDK打包生成的哈希命名临时资产目录,而非你本地的functions源码目录。手动导出的template.yml保留了该临时路径,SAM启动容器时挂载的是不存在的临时路径目录,导致容器内找不到test.js模块,抛出Runtime.ImportModuleError错误,最终Lambda返回异常响应,API Gateway报错。

3. 官方规范操作方式

安装适配CDK的公开预览版SAM工具sam-beta-cdk,无需手动执行cdk synth生成模板文件,直接在项目根目录执行sam-beta-cdk start-api即可自动完成资产映射、本地API启动,正常访问测试端点。
该方案无需额外修改配置,能正确识别CDK项目中的路由、Lambda配置,和线上部署的行为保持一致,同时支持热重载等本地调试特性,适合开发阶段快速验证接口逻辑。
如果暂时不想使用预览版工具,也可以在手动导出template.yml后,将所有Lambda函数的CodeUri字段值修改为本地对应的源码目录路径(你的场景可改为./functions),再执行sam local start-api也能正常运行,但该方式需要每次synth后手动修改配置,效率较低。

内容的提问来源于stack exchange,提问作者Roger Heathcote

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:48:00