使用回形针将文件上传到AWS

时间:2017-07-29 21:54:05

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

我目前正在尝试将图片上传到AWS,但不断获取Aws::Errors::MissingCredentialsError: unable to sign request without credentials set。 在我当前的设置中,我将回形针默认值设置为application.rb文件中的以下内容。

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV["s3_bucket"],
    :access_key_id => ENV["s3_access_key_id"],
    :s3_secret_access_key => ENV["s3_secret_access_key"],
    :s3_region => ENV["s3_region"]
  }
}

然后在我的application.yml中设置变量的值,如此

development:
   s3_bucket: "open-doors-dev"

production:
  s3_bucket: "open-doors-pro"

s3_region: "us-west-1"
s3_access_key_id: "MY ACCESS KEY HERE"
s3_secret_access_key: "MY SECRET KEY HERE"

但是,当我尝试在rails控制台中测试此代码时,出现上述错误。我在代码中打印了config.paperclip_defaults的值,它们与我在application.yml中提供的值相匹配,因此我不明白为什么此代码失败。

1 个答案:

答案 0 :(得分:0)

我弄清楚出了什么问题。我有两个问题,第一个是在paper_clip默认情况下; :s3_secret_access_key应该只是secret_access_key,我必须将我的政策更改为内联政策,但我不确定为什么会给我一个错误。