在VS Code IDE中通过LocalStack集成加速无服务器测试

本文介绍AWS Toolkit for VS Code新推出的LocalStack集成功能,使开发者能够在本地测试和调试无服务器应用,支持Lambda、SQS、EventBridge等多服务端到端工作流模拟,提升开发效率。

在VS Code IDE中通过LocalStack集成加速无服务器测试

今天,我们宣布在AWS Toolkit for Visual Studio Code中集成LocalStack,使开发人员比以往更轻松地在本地测试和调试无服务器应用程序。这一增强建立在我们最近对AWS Lambda开发体验的改进基础上,包括2025年7月推出的控制台到IDE集成和远程调试功能,延续了我们简化Amazon Web Services(AWS)上无服务器开发的承诺。

在构建无服务器应用程序时,开发人员通常关注三个关键领域以简化测试体验:单元测试、集成测试和调试云中运行的资源。尽管AWS无服务器应用程序模型命令行界面(AWS SAM CLI)为单个Lambda函数提供了出色的本地单元测试功能,但处理涉及多个AWS服务(如Amazon Simple Queue Service(Amazon SQS)、Amazon EventBridge和Amazon DynamoDB)的事件驱动架构的开发人员需要一个全面的本地集成测试解决方案。尽管LocalStack提供了AWS服务的本地模拟,但开发人员之前必须将其作为独立工具管理,需要复杂的配置和在多个界面之间频繁切换上下文,这减慢了开发周期。

VS Code中的LocalStack集成

为了解决这些挑战,我们引入了LocalStack集成,使开发人员可以将AWS Toolkit for VS Code直接连接到LocalStack端点。通过这种集成,开发人员可以测试和调试无服务器应用程序,而无需在工具之间切换或管理复杂的LocalStack设置。开发人员现在可以在本地模拟涉及Lambda、Amazon SQS和EventBridge等服务的端到端事件驱动工作流,无需管理多个工具、执行复杂的端点配置或处理以前需要连接到云资源的服务边界问题。

这种集成的主要好处是,AWS Toolkit for VS Code现在可以连接到自定义端点(如LocalStack),这在以前是不可能的。以前,要将AWS Toolkit for VS Code指向其LocalStack环境,开发人员必须执行手动配置并在工具之间切换上下文。

在VS Code中开始使用LocalStack

在VS Code中开始使用LocalStack非常简单。开发人员可以从LocalStack Free版本开始,该版本为核心AWS服务提供本地模拟,非常适合早期开发和测试。使用VS Code中的引导式应用程序演练,开发人员可以直接从工具包界面安装LocalStack,这会自动安装LocalStack扩展并指导他们完成设置过程。配置完成后,开发人员可以直接将无服务器应用程序部署到模拟环境并在本地测试其功能,所有这些都无需离开其IDE。

让我们试一试

首先,我将我的AWS Toolkit for VS Code副本更新到最新版本。完成后,当我转到Application Builder并单击“Walkthrough of Application Builder”时,可以看到一个新选项。这使我只需单击一下即可安装LocalStack。

完成LocalStack的设置后,我可以从状态栏启动它,然后我将能够从已配置的AWS配置文件列表中选择LocalStack。在此插图中,我使用Application Composer构建一个使用Amazon API Gateway、Lambda和DynamoDB的简单无服务器架构。通常,我会使用AWS SAM将其部署到AWS。在这种情况下,我将使用相同的AWS SAM命令在本地部署我的堆栈。

我只需从命令行执行sam deploy –guided –profile localstack并按照通常的提示操作。使用AWS SAM CLI部署到LocalStack提供了与部署到AWS时完全相同的体验。在下面的屏幕截图中,我可以看到来自AWS SAM的标准输出,以及AWS Toolkit Explorer中列出的新LocalStack资源。

我甚至可以进入Lambda函数并编辑我本地部署的函数代码!

在LocalStack网站上,我可以登录并查看所有在本地运行的资源。在下面的屏幕截图中,您可以看到我刚部署的本地DynamoDB表。

增强的开发工作流

这些新功能补充了我们最近推出的控制台到IDE集成和远程调试功能,创建了一个全面的开发体验,解决了整个开发生命周期中的不同测试需求。AWS SAM CLI为单个Lambda函数提供了出色的本地测试,有效处理单元测试场景。对于集成测试,LocalStack集成支持在本地测试多服务工作流,而无需处理AWS Identity and Access Management(IAM)权限、Amazon Virtual Private Cloud(Amazon VPC)配置或可能减慢开发速度的服务边界问题。

当开发人员需要在开发环境中使用AWS服务进行测试时,他们可以使用我们的远程调试功能,该功能提供对Amazon VPC资源和IAM角色的完全访问。这种分层方法使开发人员可以在早期开发阶段使用LocalStack专注于业务逻辑,然后在需要针对AWS服务行为和配置进行验证时无缝过渡到基于云的测试。该集成消除了在多个工具和环境之间切换的需要,因此开发人员可以更快地识别和修复问题,同时保持灵活性以选择适合其特定需求的测试方法。

现已可用

您可以通过更新到v3.74.0版本的AWS Toolkit for VS Code开始使用这些新功能。LocalStack集成在所有商业AWS区域中可用,除了AWS GovCloud(US)区域。要了解更多信息,请访问AWS Toolkit for VS Code和Lambda文档。

对于需要更广泛服务覆盖范围或高级功能的开发人员,LocalStack提供了具有扩展功能的附加层级。使用此集成不会产生AWS的额外费用。

这些增强代表了我们简化无服务器开发体验的持续承诺中的又一个重要步骤。在过去的一年中,我们一直致力于使VS Code成为无服务器开发人员的首选工具,而这种LocalStack集成通过提供工具使开发人员比以往更高效地构建和测试无服务器应用程序,继续这一旅程。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计