Rush Stack商店博客活动
跳至主要内容

无服务器堆栈插件

插件包@rushstack/heft-serverless-stack-plugin
插件名称serverless-stack-pluginServerlessStackPlugin.ts 实现
插件配置文件(无)
heft.json 选项(无)

这是一个用于使用 无服务器堆栈 (SST) 框架构建应用程序的 Heft 插件。使用这种方法,SST 工具链 仅用于合成 CloudFormation 堆栈并部署应用程序,而 Heft 则负责编译、整理和测试你的 TypeScript 项目。

何时使用它

如果你的 lambda 服务是使用无服务器堆栈框架构建的。

工作原理

如果没有 --sst 参数,该插件将无效。当提供该参数时

  • heft build --sst 的行为类似于 sst build,它会在 build/cdk.out/ 目录中合成 CloudFormation 堆栈。有关详细信息,请参见 此文档。Heft 的 build-watch 模式也受支持。

  • heft start --sst 的行为类似于 sst start,它会将一个 存根 lambda 部署到 AWS,然后在本地启动 WebSocket 客户端进行调试。有关详细信息,请参见 此文档

请注意,heft build --sst 当前需要 AWS 凭据,这限制了在多仓库环境中执行此验证的能力,因为我们无法假设每个开发人员都在 AWS 上工作。问题 serverless-stack#1537 正在跟踪可能改进。

配置

示例文件夹 heft-serverless-stack-tutorial 说明了完整的项目设置。

CLI 参数

heft-serverless-stack-plugin/heft-plugin.json 定义了这些参数

  --sst
Invokes the SST postprocessing. Requires AWS credentials.
--sst-stage STAGE_NAME
Specifies the Serverless Stack stage; equivalent to
to the "--stage" parameter from the "sst" CLI