Ruby on Rails / Paperclip / AWS :: S3 :: NoSuchBucket错误

我安装了paperclip插件,并且能够在本地使用它。 当我配置它与亚马逊S3一起使用时,我不断收到NoSuchBucket(指定的存储桶不存在)错误。 Paperclip文档声明如果存储桶不存在则会创建存储桶,但在我的情况下显然存在问题。

我首先打破了aws-s3 gem(v0.6.2)然后还安装了right_aws gem(v1.9.0)

两者都有对应的

config.gem "aws-s3", :lib => "aws/s3" config.gem 'right_aws', :version => '1.9.0' 

environment.rb文件中的行

带回形针的image.rb文件的代码如下:

 class Image  {:big => "612x1224>", :small => "180X360>", :thumb => "36x36#"}, :storage => 's3', :s3_credentials => YAML.load_file("#{RAILS_ROOT}/config/s3.yml")[RAILS_ENV], :path => ":attachment/:id/:style/:basename.:extension", :bucket => 'my-unique-image-bucket' attr_protected :photo_file_name, :photo_content_type, :photo_size validates_attachment_presence :photo validates_attachment_size :photo, :less_than => 3.megabytes validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png', 'image/gif'] end 

我不完全确定这是它,但是你加载的s3_credentials与我在生产网站上使用的不同。

我的配置行是:

 :s3_credentials => "#{RAILS_ROOT}/config/s3.yml" 

代替

 :s3_credentials => YAML.load_file("#{RAILS_ROOT}/config/s3.yml")[RAILS_ENV] 

它应该创建但斗,但这是一个错误:

http://groups.google.com/group/paperclip-plugin/browse_thread/thread/42f148cee71a0477

我最近有这个问题,结果是服务器时间大大关闭,s3不允许任何更新“远在将来”或类似但铁路错误是NoSuchBucket …令人困惑

..

我已经为firefox安装了s3fox插件,并使用插件创建了存储桶。 现在Paperclip可以正常使用S3,因为已经创建了标识的存储桶。

但我仍然对回形针无法用上面的代码创建新桶感到好奇。

如果有人通过谷歌结束这里:当我错误地切换我传递给AWS::S3::S3Object.store的第2和第3个参数的顺序时,我看到了同样的错误。

这不是你的情况,但是AWS不允许桶名中的大写字母和回形针不检查,在create_bucket失败。