无法将载波连接到s3

时间:2014-12-11 12:18:37

标签: ruby-on-rails heroku amazon-s3 carrierwave

我正在尝试将应用程序推送到heroku,因此我需要将我的carrierwave设置转换为将图像存储到s3存储桶。我按照carrierwave readme上的指南进行操作,但无论我做什么,我似乎无法将图像保存到我的桶中。

首先我添加了雾宝石。

#carrierwave gemfile
gem "carrierwave"
gem "mini_magick"
gem "fog"

然后创建了一个amazon s3帐户,并使用管理员策略创建了一个IAM用户,并为该用户生成了一个访问密钥和密钥。然后我创建了一个存储桶并将受让人设置为每个人。

回到我的应用程序中,我将存储更改为image_uploader中的雾,并创建了一个具有以下值的初始化程序:

#config/initializers/fog.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
      :provider               => 'AWS',
      :aws_access_key_id      => 'myaccesskeyid',
      :aws_secret_access_key  => 'mysecretaccesskey',
      :region                 => 'US Standard'
  }
  config.fog_directory  = 'my-bucket'
end

重新启动服务器并尝试上传图片后,我会收到一张图像已损坏的图像,其中包含https://my-bucket.s3.amazonaws.com/uploads/image/url/56/inline_content_MOWEFbYOJKSLVM0LeTslBn1l7URjrwAn7w6qLd-kbbU.jpeg这样的链接但该图片仍为空,图片尚未上传。我尝试创建不同的存储桶,使用我的旧根密钥为aws帐户,但似乎没有任何工作。我在欧洲使用美国地区,但这不应该有所作为。我似乎无法找到任何可以解释出现问题的错误,但除了我的服务器日志之外,我会在哪里查看?

编辑: 我尝试设置谷歌存储桶并更改了凭据,但它仍然提供了损坏的图像,并且没有任何内容上传到存储桶。

1 个答案:

答案 0 :(得分:2)

我将我的雾版本降级到1.24.0,它开始工作了!

gem "fog", '1.24.0'