【问题标题】:AWS SAM Local vs LocalstackAWS SAM 本地与 Localstack
【发布时间】:2017-08-16 17:09:55
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services localstack


    【解决方案1】:

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

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

    【讨论】:

    • 您可以使用 moto(在您的主机上)模拟 S3,然后将 S3 端点 URL 设置为您的主机 IP:5000,它将模拟 S3 调用...
    • @NeilMcGuigan,但这是特定于语言的,即它仅适用于 Python。
    • @Inquirer 不正确。它有一个基于 CLI 的 HTTP 服务器,您可以使用任何语言
    【解决方案2】:

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

    Localstack 也有 2 种口味 - 定价的基础版和专业版。所以如果有选择的话,我现在就开始探索当地的 SAM。

    【讨论】:

      【解决方案3】:

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-11
        • 2019-04-24
        • 2018-06-14
        • 2020-11-06
        • 2022-08-02
        • 2018-07-19
        • 2020-04-29
        • 2021-04-01
        相关资源
        最近更新 更多