0

我们是一家 Terraform 商店,用于在 AWS 上建立我们的基础设施,我正在使用 AWS SAM Local 来:

  1. 无需在云上部署即可在本地测试 AWS Lambda。
  2. 我还可以在本地运行的 lambda 函数上运行集成测试,因为它将调用在云中运行的下游服务。

我对无服务器离线很好奇。我对 npm 无服务器库没有太多经验,想知道其他人是否有与 SAM Local 相比的经验?它是否具有我能够通过 AWS SAM Local 完成的相同功能?

4

1 回答 1

2

sam localcli 命令和Serverless Offline插件以类似的方式工作。两者都运行 Docker 实例并模拟 API Gateway 和 Lambda。此外,与 SAM Local 不同,无服务器框架支持其他平台。

使用一种或另一种的最大优势是能够使用您当前使用的工具在本地测试您的无服务功能。因此,如果您使用 AWS SAM,这sam local将是最佳选择,如果您使用无服务器框架,则类似,因为最佳选择将使用Serverless-offline插件。

Serverless Framework 早在 SAM Local 出现之前就包含了离线测试,所以也许你可以找到使用 SAM local 尚不可用的选项。sam local可以有一些优点,比如模板验证。

这两个系统都使用 Node.js 并支持 API Gateway 和 Lambda,但目前都不支持 DynamoDB 执行,因此您需要以某种方式使您的 DynamoDb 在本地可用。

如果您想确定最适合您的选择是 AWS SAM 还是无服务器框架,您可以查看如下比较:比较 AWS SAM 与无服务器框架

于 2022-02-12T13:35:04.533 回答