我们在使用AWS SAM进行开发时,需要进行本地调试,由于AWS Lamdba的开发模式和本地区别很大,初学者不知道怎么高效的本地开发并打断点。这里我以常见的IDEA为例子帮助大家理解AWS Lambda打断点的基本流程。本地debug需要我们本地电脑上安装好docker,这样我们的lambda函数会在docker容器中被模拟运行。
Jetbrains IDE
先安装好AWS Toolkit for JetBrains插件
创建SAM项目
选择AWS Serverless Application,并选择对应的基础配置
打开项目并打好断点,这个和普通的打断点完全一样
设置配置文件
选择合适的event事件模板,我演示的是基础的api-gateway event触发lambda的demo,所以选择如下
开始debug,我们看到debug时正确的停在了我们指定的地方
VS Code
先安装好AWS Toolkit插件
然后在vs code里面点击View->Command Palette进入到项目创建对话框,选择我图中高亮的选项AWS:Create Lambda SAM Application
然后进入创建流程,这里我们可以选择多种AWS Lamdba运行时,我选的是nodejs18
接着是选择AWS Lambda运行环境的CPU架构,一般用户选x86_64即可
然后选择项目模板,这里我们直接选择AWS SAM Hello World
到这里配置完成,我们需要选择项目存放的位置
然后填入自己的项目名称
项目创建完成后我们可以给代码打上断点
然后正常的进行vs code debug即可
本文代码库为github sam-samples