【发布时间】:2012-01-04 15:20:43
【问题描述】:
我即将开始使用 AWS(s3 和 ec2),我想知道哪个 gem 更好:aws-sdk 还是雾?
【问题讨论】:
标签: ruby-on-rails amazon-s3 amazon-web-services fog
我即将开始使用 AWS(s3 和 ec2),我想知道哪个 gem 更好:aws-sdk 还是雾?
【问题讨论】:
标签: ruby-on-rails amazon-s3 amazon-web-services fog
我会说 AWS-SDK。我没有使用雾,但使用了 AWS gem,并切换了。我发现亚马逊的 ruby 人员提供的官方支持和错误修复非常好。 AWS-SDK 中的代码也很干净,我喜欢这种方法。当 AWS 宣布一项新功能时,AWS-SDK 客户端似乎会在几天内更新以支持它。
我查看了雾,并立即决定反对它:a) 太多的 gem 依赖项。 b) 最小公分母,和 c) 内部复杂性,需要,因为它支持许多不同的协议。
【讨论】:
我会说雾。
我只知道这是我一直在使用的,它很好。它支持几乎所有的 AWS 服务,除了我认为的 sns。它也可能更容易测试,因为它有模拟服务。
它也是推荐用于使用carrierwave的一种。
雾似乎也保养得很好。
但另一方面,aws-sdk 是亚马逊做的,可能会成为标准。
【讨论】:
AWS.eager_autoload!。解决线程安全问题的工作量很小。
AWS.eager_autoload! 仅在您使用 Ruby 1.8/1.9 时才需要,因为标准 autoload 在 Ruby 2 中是线程安全的。
我会说,如果您只使用亚马逊服务,请使用 aws-sdk。
看雾源代码,厉害但也吓人核心gem中处理和构建了多少服务:https://github.com/fog/fog/tree/master/lib/fog
认为所有这些服务驱动程序都是免费构建应用程序的一部分。
【讨论】: