我目前正在尝试将图片上传到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
中提供的值相匹配,因此我不明白为什么此代码失败。
答案 0 :(得分:0)
我弄清楚出了什么问题。我有两个问题,第一个是在paper_clip默认情况下; :s3_secret_access_key
应该只是secret_access_key
,我必须将我的政策更改为内联政策,但我不确定为什么会给我一个错误。