3

我安装了回形针插件并能够在本地使用它。当我将其配置为与 amazon S3 一起使用时,我不断收到 NoSuchBucket(指定的存储桶不存在)错误。回形针文档指出,如果存储桶不存在,则将创建该存储桶,但显然在我的情况下出了点问题。

我首先安装了 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 < ActiveRecord::Base

    belongs_to  :work

    has_attached_file :photo, :styles => {: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
4

5 回答 5

3

我不完全确定就是这样,但是您加载的 s3_credentials 与我在生产站点上使用的不同。

我的配置行是:

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

代替

:s3_credentials => YAML.load_file("#{RAILS_ROOT}/config/s3.yml")[RAILS_ENV]
于 2009-08-28T18:48:21.733 回答
1

它应该创建但存储桶,但这曾经是一个错误:

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

我最近遇到了这个问题,结果证明是服务器时间过长了,s3 不允许任何“在未来那么远”或类似的更新,但 rails 错误是 NoSuchBucket ......令人困惑

..

于 2010-10-22T19:39:40.713 回答
0

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

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

于 2009-08-29T14:04:58.313 回答
0

万一有人通过谷歌来到这里:当我错误地切换了我传递给的第二个和第三个参数的顺序时,我看到了同样的错误AWS::S3::S3Object.store

于 2012-06-01T18:07:15.973 回答
0

这不是你的情况,但 AWS 不允许在存储桶名称中使用大写字母,并且回形针不会检查,在create_bucket.

于 2013-05-20T11:28:53.387 回答