使用 VS Code 在本地开发 Lambda 函数
您可以将 Lambda 函数从 Lambda 控制台移至 Visual Studio Code,后者提供了一个完整的开发环境,支持使用 Amazon SAM 和 Amazon CDK 等其他本地开发选项。
本地开发的主要好处
虽然 Lambda 控制台提供了编辑和测试函数的快捷方法,但本地开发提供了更多高级功能:
-
高级 IDE 功能:调试、代码完成和重构工具
-
离线开发:在云部署之前,先在本地处理和测试更改
-
集成基础设施即代码:与 Amazon SAM、Amazon CDK 和基础设施编辑器无缝集成
-
依赖项管理:完全控制函数的依赖项
先决条件
在 VS Code 中本地开发 Lambda 函数之前,必须具备:
-
VS Code:有关安装说明,请参阅下载 VS Code
。 -
Amazon Toolkit for Visual Studio Code:有关安装说明,请参阅设置 Amazon Toolkit for Visual Studio Code。有关概述,请参阅Amazon Toolkit for Visual Studio Code
。 -
Amazon 凭证:有关配置凭据的信息,请参阅设置您的 Amazon 凭证。
-
Amazon SAM CLI:有关安装说明,请参阅安装 Amazon SAMCLI。
-
已安装 Docker(可选,但本地测试需要安装):有关安装说明,请参阅获取 Docker
。
注意
如果您已经在本地配置了 Amazon 账户和配置文件,请确保将 AdministratorAccess 托管策略添加到所配置的 Amazon 配置文件中。
身份验证和访问控制
要在本地开发 Lambda 函数,您需要使用 Amazon 凭证来代表自己安全地访问和管理 Amazon 资源,就像在云中一样。Amazon Toolkit for VS Code 支持以下身份验证方法:
Amazon Toolkit for VS Code 支持以下身份验证方法:
-
IAM 用户长期凭证
-
代入角色的临时凭证
-
联合身份
-
Amazon 账户的根用户凭证(不推荐)
本节将指导您使用 IAM 用户长期凭证获取和配置这些凭证。
获取 IAM 凭证
如果您已经拥有一个带访问密钥的 IAM 用户,请准备好访问密钥 ID 和秘密访问密钥进入下一节。如果没有这些密钥,请执行以下步骤创建密钥:
注意
您必须同时使用访问密钥 ID 和秘密访问密钥对请求执行身份验证。
创建 IAM 用户和访问密钥:
-
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Users(用户)。
-
选择创建用户。
-
在用户名中,输入一个名称,然后选择下一步。
-
在设置权限下,选择直接附加策略。
-
选择 AdministratorAccess,然后选择下一步。
-
选择创建用户。
-
在成功横幅中,选择查看用户。
-
选择创建访问密钥。
-
在用例中,选择本地代码。
-
选中确认复选框,然后选择下一步。
-
(可选)输入一个描述标签值。
-
选择创建访问密钥。
-
立即复制访问密钥和秘密访问密钥。离开本页后,您将无法再次访问秘密访问密钥。
重要
切勿共享您的密钥或将其提交给源代码控制。请安全地存储这些密钥,不再需要时将其删除。
注意
有关更多信息,请参阅《IAM 用户指南》中的在您的 Amazon 账户中创建 IAM 用户和管理 IAM 用户的访问密钥。
使用 Amazon Toolkit 配置 Amazon 凭证
下表汇总了您将在以下流程中完成的凭证设置过程。
操作 | 为什么? |
---|---|
打开登录面板 | 开始身份验证 |
使用命令面板,搜索 Amazon 添加新连接 | 访问登录 UI |
选择 IAM 凭证 | 使用访问密钥进行编程访问 |
输入配置文件名称、访问密钥、密钥 | 提供连接的凭证 |
查看 Amazon Explorer 更新 | 确认您已连接 |
按照以下步骤完成 Amazon 账户的身份验证:
-
在 VS Code 中打开登录面板:
-
要开始身份验证过程,请在左侧导航窗格中选择 Amazon 图标,或打开命令面板(Mac 上快捷键为 Cmd+Shift+P 或 Windows/Linux 上为 Ctrl+Shift+P),然后搜索并选择 Amazon 添加新连接。
-
-
在登录面板中,选择 IAM 凭证,然后选择继续。
注意
您需要允许 Amazon IDE Extensions for VS Code 访问您的数据才能继续。
-
输入配置文件名称、访问密钥 ID 和秘密访问密钥,然后选择继续。
-
对于 Amazon 服务和资源,请在 VS Code 中勾选 Amazon Explorer 来验证连接。
有关使用长期凭证设置身份验证的信息,请参阅使用长期凭证对 Amazon SDK 及工具进行身份验证。
有关配置身份验证的信息,请参阅《Amazon Toolkit for Visual Studio Code 用户指南》中的Amazon IAM 凭证。
从控制台转向本地开发
注意
如果您在控制台中进行了更改,请确保在过渡到本地开发之前部署了所有更改。
要将 Lambda 函数从 Lambda 控制台移至 VS Code,需完成以下步骤:
-
打开 Lambda 控制台
。 -
选择函数的名称。
-
选择代码源选项卡。
-
选择在 Visual Studio Code 中打开。
注意
在 Visual Studio Code 中打开按钮仅在 3.69.0 及更高版本的 Amazon Toolkit 中可用。如果安装了早期版本的 Amazon Toolkit,您可能会在 VS Code 中看到一条
Cannot open the handler
消息。要解决此问题,请将您的 Amazon Toolkit 更新到最新版本。 -
出现提示时,请允许浏览器打开 VS Code。
当在 VS Code 中打开函数时,Lambda 会在临时位置创建一个本地项目,其中含有函数代码,设计用于快速测试和部署。项目包括可用于本地开发的函数代码、依赖项和基本的项目结构。
有关在 VS Code 中使用 Amazon 的详细信息,请参阅 Amazon Toolkit for Visual Studio Code 用户指南。
在本地使用函数
在 VS Code 中打开函数后,请按照以下步骤访问和管理函数:
-
选择侧边栏中的 Amazon 图标以打开 Amazon Explorer:
-
在 Amazon Explorer 中,使用 Lambda 函数选择区域:
-
在所选的区域下,展开 Lambda 部分以查看和管理函数:
在 VS Code 中打开函数后,您可以:
-
使用完整的语言支持和代码完成功能编辑函数代码。
-
使用 Amazon Toolkit 在本地测试函数。
-
使用断点和变量检查来调试函数。
-
使用云图标将更新后的函数部署回 Amazon。
-
安装和管理函数的依赖项。
有关更多信息,请参阅《Amazon Toolkit for Visual Studio Code 用户指南》中的使用 Amazon Lambda 函数。
将函数转换为 Amazon SAM 模板并使用 IaC 工具
在 VS Code 中,可以通过选择 Lambda 函数旁边的转换为 Amazon SAM 应用程序图标,将 Lambda 函数转换为 Amazon SAM 模板。系统将提示您选择 Amazon SAM 项目位置。选择后,您的 Lambda 函数将转换为一个 template.yaml
文件保存在新的 Amazon SAM 项目中。
函数转换为 Amazon SAM 模板后,您可以:
对基础设施进行版本控制
自动部署
远程调试函数
向应用程序额外添加 Amazon 资源
在整个开发生命周期中保持环境的一致性
使用基础设施编辑器,以可视化方式编辑 Amazon SAM 模板
有关使用 IaC 工具的更多信息,请参阅以下指南:
这些工具为定义、测试和部署无服务器应用程序提供了更多功能。
后续步骤
要了解在 VS Code 中使用 Lambda 函数的更多信息,请参阅以下资源:
-
《Amazon Toolkit for VS Code 用户指南》的使用 Amazon Lambda 函数
-
《Amazon Toolkit for VS Code 用户指南》中的使用无服务器应用程序
-
《Lambda 开发人员指南》中的基础设施即代码