亚马逊AWS官方博客
通过控制台与 IDE 集成和 AWS Lambda 远程调试简化无服务器开发
现在,我们宣布对 AWS Lambda 进行两项重大改进,让开发人员能比以往更轻松地在本地开发环境中构建和调试无服务器应用程序:控制台与 IDE 集成及远程调试功能。这些新功能基于我们近期对 Lambda 开发体验的改进,包括 2024 年底推出的增强型控制台编辑体验和优化后的本地集成式开发环境 (IDE) 体验。
在编译无服务器应用程序时,开发人员通常会聚焦两个优化工作流的领域:本地开发环境设置和云端调试能力。虽然开发人员可以将控制台中的函数引入 IDE,但他们一直在寻求更高效的流程实现方式。此外,由于这些函数会与云端各类 AWS 服务交互,开发人员希望增强调试能力以便在开发周期早期发现和解决问题,从而减少对本地模拟的依赖并优化开发工作流。
控制台与 IDE 集成
为了应对第一个挑战,我们推出控制台与 IDE 集成功能,这简化了从 AWS 管理控制台到 Visual Studio Code (VS Code) 的工作流。这项新功能向 Lambda 控制台添加了“在 Visual Studio Code 中打开”按钮,使开发人员能够快速从在浏览器中查看其函数并转到 IDE 中编辑,从而省去了本地开发环境耗时的设置过程。
控制台与 IDE 集成会自动处理设置流程,检查 VS Code 和 AWS Toolkit for VS Code 的安装状态。对于已完成配置的开发人员,点击按钮即可在 VS Code 中立即打开函数代码,使其能继续编辑并在数秒内将更改部署回 Lambda。如果未安装 VS Code,系统将引导开发人员进入下载页面,如果缺少 AWS Toolkit,则会提示安装。
要使用控制台与 IDE 集成功能,请在新建函数后的“开始使用”弹窗或现有 Lambda 函数的代码选项卡中寻找在 VS Code 中打开按钮。选择后,VS Code 将自动打开(必要时会安装 AWS Toolkit)。与控制台环境不同,您现在可获得带集成终端的完整开发环境——这对需要管理软件包(npm install、pip install)、运行测试或使用 linter 和 formatter 等工具的开发人员是重大改进。您可以编辑代码、添加新文件/文件夹,任何更改都会触发自动部署提示。当选择部署时,AWS Toolkit 会自动将函数部署至您的 AWS 账户。
远程调试
开发人员将自己的函数放入其 IDE 后,他们就可通过远程调试功能,直接从 VS Code 调试其 AWS 账户中已部署的 Lambda 函数。远程调试的主要优势在于,它允许开发人员在函数与其它 AWS 服务集成运行的云端环境中进行调试,从而实现更快速可靠的开发。
通过远程调试,开发人员可以通过完全访问 Amazon Virtual Private Cloud (Amazon VPC) 资源和 AWS Identity and Access Management (AWS IAM) 角色来调试函数,消除了本地开发与云端执行间的差距。例如,在调试与 VPC 中的 Amazon Relational Database Service (Amazon RDS) 数据库交互的 Lambda 函数时,开发人员现在可以在数秒内调试函数在云端运行的执行环境,无需耗时搭建可能与生产环境不符的本地环境。
开始远程调试非常简单。开发人员在 VS Code 中选择 Lambda 函数,即可在数秒内启用调试。AWS Toolkit for VS Code 会自动下载函数代码、建立安全调试连接并启用断点设置。调试完成后,AWS Toolkit for VS Code 会自动清理调试配置,以防止对生产流量产生任何影响。
操作演示
为了测试远程调试,我选择从一个用 Python 编写的基础“hello world”示例函数开始。我之前曾使用适用于 AWS Lambda 的 AWS 管理控制台创建过该函数。使用 AWS Toolkit for VS Code,我可以在资源管理器面板中导航至目标函数。将鼠标悬停在目标函数上,我可以右键单击(在 Windows 中按住 Ctrl 单击),即可下载代码到本地 IDE 进行编辑。保存文件时会询问是否将最新更改部署到 Lambda。
从这里点击播放图标,即哥打开函数的远程调用配置页面。此对话框现在将显示远程调试选项,我可将其配置指向本地的函数处理程序代码副本。在选择远程调用之前,我可以在左侧任意位置设置断点,使代码暂停检查。
代码调用后将在云端运行,我可以在 VS Code 中实时监控状态。在下面的屏幕截图中,您可以看到我在 print 语句处设置了断点。函数执行将在此暂停,我可以检查局部变量值等,然后选择继续到下一个断点或逐行执行代码。
此处可见我选择逐行执行代码,随着逐步推进,能在 IDE 左侧看到上下文及局部/全局变量显示。此外,我可以关注 IDE 底部的输出选项卡中的日志。逐步执行时,我将实时看到函数执行过程中的所有日志或输出信息。
增强的开发工作流
这些新功能共同创造了更加流畅的开发体验。开发人员可以从控制台开始,使用控制台与 IDE 集成快速转入 VS Code,再使用远程调试功能调试云端运行的函数。该工作流消除了多工具和环境切换的需求,有助于开发人员更快发现和修复问题。
现已推出
您可以通过 AWS 管理控制台和安装了 AWS Toolkit for VS Code(v3.69.0 或更高版本)的 VS Code 使用这些新功能。除 AWS GovCloud(美国)区域外,所有提供 Lambda 的商业 AWS 区域均支持控制台与 IDE 集成功能。更多信息请参阅 Lambda 和 AWS Toolkit for VS Code 文档。要了解有关远程调试功能(包括可用的 AWS 区域)的更多信息,请访问 AWS Toolkit for VS Code 和 Lambda 文档。
控制台与 IDE 集成及远程调试均无额外费用。对于远程调试,您只需支付调试会话期间的标准 Lambda 执行费用。远程调试发布时支持 Python、Node.js 和 Java 运行时,未来计划扩展更多语言支持。
这些改进标志着简化无服务器开发体验的重大进步,意味着开发人员能比以往更高效地构建和调试 Lambda 函数。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。