【问题标题】:Which gem is better for working with AWS: aws-sdk or fog?哪个 gem 更适合使用 AWS:aws-sdk 还是雾?
【发布时间】:2012-01-04 15:20:43
【问题描述】:

我即将开始使用 AWS(s3 和 ec2),我想知道哪个 gem 更好:aws-sdk 还是雾?

【问题讨论】:

    标签: ruby-on-rails amazon-s3 amazon-web-services fog


    【解决方案1】:

    我会说 AWS-SDK。我没有使用雾,但使用了 AWS gem,并切换了。我发现亚马逊的 ruby​​ 人员提供的官方支持和错误修复非常好。 AWS-SDK 中的代码也很干净,我喜欢这种方法。当 AWS 宣布一项新功能时,AWS-SDK 客户端似乎会在几天内更新以支持它。

    我查看了雾,并立即决定反对它:a) 太多的 gem 依赖项。 b) 最小公分母,和 c) 内部复杂性,需要,因为它支持许多不同的协议。

    【讨论】:

    • 每次我尝试使用雾(用于自定义项目,而不是例如载波集成)时,我最终都会深入研究代码以尝试了解基本知识,而不是实际使用它。我似乎无法绕过它。实际上,这可能是因为我发现的唯一文档要么是 1) 琐碎的示例,要么是 2) 适用于所有事物的枯燥 API 文档。 /咆哮
    【解决方案2】:

    我会说雾。

    我只知道这是我一直在使用的,它很好。它支持几乎所有的 AWS 服务,除了我认为的 sns。它也可能更容易测试,因为它有模拟服务。

    它也是推荐用于使用carrierwave的一种。

    雾似乎也保养得很好。

    但另一方面,aws-sdk 是亚马逊做的,可能会成为标准。

    【讨论】:

    • 不能说我推荐这个答案。 aws-sdk 显然正在成为赢家。代码非常棒,新API出来的时候更新很快。
    • 只要我使用 AWS-SDK,我就不得不对其进行修补。我最近改用了雾,对此非常满意。
    • 雾是线程安全的,aws-sdk 需要解决自动加载问题。
    • 解决方法就是AWS.eager_autoload!。解决线程安全问题的工作量很小。
    • 值得注意的是,AWS.eager_autoload! 仅在您使用 Ruby 1.8/1.9 时才需要,因为标准 autoload 在 Ruby 2 中是线程安全的。
    【解决方案3】:

    我会说,如果您只使用亚马逊服务,请使用 aws-sdk。

    看雾源代码,厉害但也吓人核心gem中处理和构建了多少服务:https://github.com/fog/fog/tree/master/lib/fog

    认为所有这些服务驱动程序都是免费构建应用程序的一部分。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 2014-02-28
      • 1970-01-01
      相关资源
      最近更新 更多