使用调试无服务器应用程序AmazonSAM Local - Amazon Toolkit for Eclipse
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用调试无服务器应用程序AmazonSAM Local

本教程将指导您完成通过 Toolkit for Eclipse 调试无服务器应用程序项目的过程。AmazonSAM Local SAM Local 是AmazonCLI 工具,用于管理使用Amazon无服务器应用程序模型 (AmazonSAM)。有关更多信息,请参阅 SAM Local 自述文件

Prerequisites

要使用本教程,您必须拥 Toolkit for Eclipse、Docker 和AmazonSAM Local 安装。请参阅AmazonSAM Local自述文件,了解 Docker 和 SAM Local 安装说明。请参阅开始使用主题,了解有关 Toolkit for Eclipse 的安装和设置说明。

注意

使用AmazonToolkit for Eclipse 的 SAM Local 功能,您的项目必须是有效 Maven 项目并包含有效的 pom.xml 文件。

安装所需工具之后,请打开 EclipsePreferences” 对话框中的Eclipse菜单。配置 SAM Local Executable (SAM Local 可执行文件) 路径,如下所示。这样一来,Toolkit for Eclipse 将知道在何处查找您的 SAM Local 安装。

从 AWS CodeStar 导入 SAM 应用程序

在本教程中,您在 AWS CodeStar 中需要一个示例项目。请参阅在中创建无服务器项目AmazonCodeStar中的教程AWS CodeStar 用户指南创建示例项目。

从 AWS CodeStar 导入 SAM 应用程序

  1. 在 Eclipse 工具栏上,打开 Amazon Web Services 菜单(由Amazon主页图标),然后选择导入AmazonCodeStar 项目. 或者,在 Eclipse 菜单栏上,选择File (文件)导入AmazonAmazonCodeStar 项目.

  2. 选择示例应用程序的创建区域。

  3. Project Name (项目名称) 列表中选择示例项目。

  4. 添加您的 Git 凭证。请参阅AmazonCodeCommit 用户指南来了解如何为 CodeCommit 获取 Git 凭证。

  5. 选择 Next (下一步)

  6. 选择 Branch Selection 页面上的 Next

  7. 选择 Local Destination 页面上的 Finish

接下来,您可以在 Eclipse 内使用 SAM Local 本地调试此无服务器应用程序。

本地调试 Lambda 函数

为您的无服务器应用程序创建调试配置并使用 SAM Local 本地运行此应用程序。

本地调试 Lambda 函数

  1. 在 Eclipse 的 Project Explorer (项目浏览器) 中,打开 HelloWorldHandler.java

  2. 在 Eclipse 代码窗口中右键单击,选择调试方式,然后选择AmazonSAM Local.

  3. 在此示例中,保留 Project (项目)Template (模板) 不变。

  4. 选择 Run as 字段中的 Lambda Function

  5. 选择 Function identifier 字段中的 GetHelloWorld

  6. 在此示例中,我们将提供 Amazon S3 事件。选择 Event 输入框旁的 Generate

  7. 选择您的 Amazon S3 存储桶所在的区域。

  8. 输入有效的 Amazon S3 存储桶名称。

  9. 输入有效的 Amazon S3 数据元键,然后选择确定.

  10. Save As (另存为) 页面上,选择当前项目并输入事件文件名称。在此示例中,我们使用的是 s3-event.json

  11. 选择 OK (确定),保存事件文件并返回主对话框。

  12. 保持高级设置不变。要详细了解这些字段,请参阅高级设置

  13. 选择 Apply,然后选择 Debug

这将在本地运行 Lambda 函数。您可以像对其他应用程序一样设置断点来调试代码。

本地测试 API Gateway

您还可以使用 SAM Local 测试 HTTP 请求/响应功能。

本地测试 API 网关

  1. 在 Eclipse 代码窗口中右键单击,选择 Debug As (调试方式)Debug Configuration (调试配置)

  2. 为此运行创建新的调试配置并将其命名为其他名称。

  3. 选择 Run as 字段中的 API Gateway

  4. 保持所有其他字段不变,您的配置看上去应类似于下面这样。

  5. 选择 Apply,然后选择 Debug

这将生成一个可用于测试您的应用程序的本地 API 网关。调试输出将包含可用于验证代码的请求/响应功能的 HTTP 链接。

高级设置

此节描述了 SAM Local 调试配置页面上可用的高级选项。

Amazon 配置

选择配置文件

(必需) 要用于的配置文件Amazon凭证。

(默认值) 默认配置文件

选择区域

(必需) 应用程序的部署区域。

(默认值) 美国东部 (弗吉尼亚)

SAM Local 配置

Maven 目标

(必需) 在构建应用程序时要执行的 Maven 目标。如果默认情况下不会生成包含所有依赖项的 Jar 文件 (fat Jar),则您必须自定义这些目标。要了解如何使用插件创建 fat Jar,请参阅 Maven 项目中的 Maven Shade 插件

(默认值) 清理程序包

SAM 运行时

(必需) 指向 SAM 可执行文件的路径。

(默认值) /usr/local/bin/sam

调试端口

(必需) Eclipse 调试程序用于连接到 SAM Local 的端口。

(默认值) 5858

Env vars

(可选) 指向 JSON 文件的路径,该文件包含 Lambda 函数所使用环境变量的值。要了解此文件必需的语法,请参阅 SAM Local 用户指南中的环境变量文件

(默认值) 空

Lambda 函数配置

代码 URI

(可选) 指向代码存档文件的路径。对于此页面上的示例,这将是指向 .jar 文件的路径。

(默认值) template.yml 文件中的路径

Timeout

(必需) Lambda 函数运行时超时值。

(默认值) 300

更多信息

有关 的更多信息AmazonSAM 本地信息,请参阅AmazonSAM Local用户指南。有关Amazon无服务器应用程序模型 (SAM),请参阅AmazonSAM项 GitHub。