直接通过代码运行和调试 Lambda 函数 |
您所在的位置:网站首页 › sam调试 › 直接通过代码运行和调试 Lambda 函数 |
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。 直接通过代码运行和调试 Lambda 函数在测试 AWS SAM 应用程序时,您可以选择仅运行和调试 Lambda 函数,并排除 AWS SAM 模板定义的其他资源。此方法涉及使用 CodeLens 功能来识别源代码中可以直接调用的 Lambda 函数处理程序。 CodeLens 检测到的 Lambda 处理程序取决于您为应用程序使用的语言和运行时系统。 语言/运行时 CodeLens 指标识别 Lambda 函数的标准C#(dotnetcore2.1、3.1;.NET 5.0) 该函数具有以下功能:这是公有类的公有函数。 它有一个或两个参数。如果有两个参数,则第二个参数必须实现 ILambdaContext 接口。 它在 VS Code 工作区文件夹内的父文件夹中具有 *.csproj 文件。 ms-dotnettools.csharp 扩展(或为 C# 提供语言符号的任何扩展)已安装且已启用。 JavaScript/TypeScript(Node.js 12.x、14.x) 该函数具有以下功能:这是一个导出的函数,最多有三个参数。 它在 VS Code 工作区文件夹内的父文件夹中具有 package.json 文件。 Python(3.7、3.8、3.9、3.10、3.11) 该函数具有以下功能:这是一个顶级函数。 它在 VS Code 工作区文件夹内的父文件夹中具有 requirements.txt 文件。 ms-python.python 扩展(或为 Python 提供语言符号的任何扩展)已安装且已启用。 Java(8、8.al2、11) 该函数具有以下功能:这是公有非抽象类的公有函数。 它有一个、两个或三个参数。 一个参数:参数可以是任意值。 两个参数:参数必须是 java.io.InputStream 和 java.io.OutputStream,或者最后一个参数必须是 com.amazonaws.services.lambda.runtime.Context。 三个参数:参数必须是 java.io.InputStream 和 java.io.OutputStream,或者最后一个参数必须是 com.amazonaws.services.lambda.runtime.Context。 它在 VS Code 工作区文件夹内的父文件夹中具有 build.gradle(Gradle)或 pom.xml(Maven)文件。 redhat.java 扩展(或为 Python 提供语言符号的任何扩展)已安装且已启用。无论你使用的是哪个 Java 运行时系统,该扩展都需要 Java 11。 vscjava.vscode-java-debug 扩展(或提供 Java 调试器的任何扩展)已安装且已启用。 Go (1.x) 该函数具有以下功能:这是一个顶级函数。 它需要 0 到 2 个参数。如果有两个参数,则第一个参数必须实现 context.Context。 它会返回 0 到 2 个参数。如果有 0 个以上的参数,则最后一个参数必须实现 error。 它在 VS Code 工作区文件夹中具有 go.mod 文件。 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 文件中这些以及其他条目的更多信息,请参阅 调试无服务器应用程序的配置选项。 如果您对调试配置满意,请选择运行 旁边的绿色播放箭头以启动调试。 当调试会话启动时,调试控制台面板会显示调试输出,并显示 Lambda 函数返回的任何值。(调试 AWS SAM 应用程序时,AWS Toolkit 在输出面板中被选择作为输出通道。) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |