8

我看到 AWS 最近为无服务器应用程序发布了AWS SAM Local。我发现LocalStack非常相似,我现在用它来运行测试并且看不到很多差异,因为它们都支持几乎相同的服务。这两者之间有什么关键区别吗?

4

3 回答 3

6

SAM Local 基本上只是用于在本地测试您的 Lambda 函数。-

没有提供其他本地服务,例如,如果您想测试 S3 存储桶操作,您需要连接到现有的 AWS 账户。

于 2018-01-13T18:56:27.040 回答
3

我相信现在唯一的区别是来自 AWS 本身,它将是它在 AWS 推出的新功能/服务方面提供的最新和最好的产品,尽管进入 BETA 需要一些时间才能让 SAM local 赶上向上。

Localstack 也有 2 种口味 - 定价的 Base 和 Pro。因此,如果可以选择,我现在就开始在本地探索 SAM。

于 2017-08-20T05:26:08.780 回答
1

LocalStack 让您可以模拟 AWS 服务,例如拥有一个虚假的 S3 存储桶

SAM Local 让您可以在本地运行真正的 AWS 无服务器服务,例如 Lambda

因此,如果您正在编写 Lambda 并希望在本地测试/调试它,请在 SAM Local 中运行它,并在 LocalStack 上调用其他模拟服务

例如,您的“真实”Lambda 调用 S3 和 Dynamo,然后您将模拟 S3 和 Dynamo

如果您想测试调用一堆不同 AWS 服务的 Bash 脚本,那么使用 LocalStack 模拟所有服务(包括模拟 Lambda)

于 2021-03-07T21:26:50.153 回答