1

我正在使用 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

谢谢,

4

2 回答 2

1

我能够在这里找到我的问题的解决方案。这是由 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> 
于 2020-05-20T14:37:19.760 回答
1

有一个工具叫Thundra。它有一个 VSCode 插件,您可以在其中实时调试 Lambda。您可以从这里查看:https ://marketplace.visualstudio.com/items?itemName=thundra.thundra-debugger

于 2020-05-19T13:15:04.323 回答