本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
直接通过代码运行和调试 Lambda 函数
测试 AWS SAM 应用程序时,您可以选择仅运行和调试 Lambda 函数,并排除 AWS SAM 模板定义的其他资源。这种方法包括使用该CodeLens
检测到的 Lambda 处理程序 CodeLens 取决于您用于应用程序的语言和运行时间。
语言/运行时 | 用指标识别 Lambda 函数的标准 CodeLens |
---|---|
C# (dotnetcore 2.1、3.1;。 NET5.0) |
该函数具有以下功能:
ms-dotnettools.csharp 扩展 |
JavaScript/TypeScript (Node.js 12.x、14.x) |
该函数具有以下功能:
|
Python(3.7、3.8、3.9、3.10、3.11、3.12) |
该函数具有以下功能:
ms-python.python 扩展 |
Java(8、8.al2、11) |
该函数具有以下功能:
redhat.java 扩展 vscjava。 vscode-java-debug |
Go (1.x) |
该函数具有以下功能:
golang.go 扩展 |
直接从应用程序代码运行和调试无服务器应用程序
-
要在 VS Code 文件资源管理器中查看应用程序文件,请选择视图、资源管理器。
-
在应用程序文件夹(例如 my-sample-app)中,展开函数文件夹(在本例中为 hello-world),然后打开该
app.js
文件。 -
在标识符合条件的 Lambda 函数处理程序的 CodeLens 指标中,选择。
Add Debug Configuration
-
在命令面板中,选择将运行您的 AWS SAM 应用程序的运行时系统。
-
在
launch.json
文件的编辑器中,编辑或确认以下配置属性的值:-
"name"
– 输入一个易于阅读的名称,以显示在 Run(运行)视图中的 Configuration(配置)下拉字段中。 -
"target"
– 确保值为"code"
,以便直接调用 Lambda 函数处理程序。 -
"lambdaHandler"
– 输入代码中方法的名称,Lambda 可使用该方法来调用您的函数。例如,对于中的应用程序 JavaScript,默认值为app.lambdaHandler
。 -
"projectRoot"
– 输入包含 Lambda 函数的应用程序文件的路径。 -
"runtime"
– 输入或确认 Lambda 执行环境的有效运行时,例如"nodejs.12x"
。 -
"payload"
– 选择以下选项之一以定义要作为输入提供给 Lambda 函数的事件负载:-
"json"
: 定义事件JSON负载的格式键值对。 -
"path"
:用作事件负载的文件路径。
在下面的示例中,
"json"
选项定义了负载。 -
有关
launch.json
文件中这些以及其他条目的更多信息,请参阅 调试无服务器应用程序的配置选项。 -
-
如果您对调试配置感到满意,要开始调试,请选择旁边的绿色播放箭头RUN。
调试会话启动时,DEBUGCONSOLE面板会显示调试输出并显示 Lambda 函数返回的所有值。(调试 AWS SAM 应用程序时,会在 “输出” 面板中选择 AWS Toolkit 作为输出通道。)