amazon-web-services - 是否有任何命令可以使用 AWS SAM CLI 在本地以“调试”模式运行 Lambda 函数?
问题描述
我正在使用 VS Code 编写 Lambda 函数,并在本地配置 AWS SAM(无服务器应用程序模型)CLI。我已经使用这个命令sam init --runtime nodejs12.x --name启动了这个项目
执行此命令后,我得到了一个示例 hello-world 项目脚手架,我可以看到Run Locally|等选项 本地调试 | 在此屏幕截图中进行配置:-
我相信这个选项是使用安装在 VS Code 编辑器中的“Code Lens”插件来实现的。我能够在本地使用此选项编写自己的代码和调试,但过了一会儿,此选项消失了,如下所示:-
现在,我不能再在调试模式下运行我的 Lambda 代码了。通过执行这个命令:- sam local invoke --event sam local invoke --no-event
Lambda 在本地正常运行,但不在调试模式下。当我创建新的 AWS SAM 项目时,选项即将出现,但我的代码不再提供。它与 Code Lens 或 SAM Serverless Template 有关吗?
请协助帮助我:- 选项 A)启用此选项选项 B)AWS SAM 中的等效命令以在调试模式下运行 Lambda
谢谢,
解决方案
我能够在这里找到我的问题的解决方案。这是由 AWS SAM CLI 提供的开箱即用的。我们需要首先将 VS Code 的 launch.json 配置为调试器端口 9999 或任何东西:-
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to SAM CLI",
"type": "node",
"request": "attach",
"address": "localhost",
"port": 9999,
"localRoot": "${workspaceRoot}/hello-function",
"remoteRoot": "/var/task",
"protocol": "inspector",
"stopOnEntry": false
}
]
}
然后执行以下命令:-
sam local invoke -d 9999 --no-event <function name>
推荐阅读
- fonts - 如何在使用 SwiftUI 的 tvOS 项目中使用自定义字体?
- php - 用 PHP 访问这个多维数组的正确方法是什么
- javascript - 从 JavaScript 中的 json 文件中检索 url
- javascript - getItems(...).map 不是函数
- r - 使用 dplyr 分组的残差数据帧计算的均方误差
- arrays - 使用 Dart 打印排序和断行的数组列表
- excel - 使用新的 Google 表单条目更新的 Google 表格经销商库存
- java - Java 中的素数(假时返回下一个素数)
- python - 为什么 pandas ewm 时间过得这么慢?
- ios - 在 Swift 中,如何从 NSPropertyDescription 中提取 AttributeType