2017-07-29 48 views
0

我目前正在尝试将图片上传到AWS,但一直收到Aws::Errors::MissingCredentialsError: unable to sign request without credentials set。 在我当前的设置中,我在我的application.rb文件中配置回形针默认设置如下。使用回形针将文件上传到AWS

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" 

然而,当我尝试和测试在轨控制台这段代码我得到上述错误。我在我的代码中打印出config.paperclip_defaults的值,它们与我在application.yml中提供的值相匹配,所以我不明白为什么此代码失败。

+0

在rails控制台中测试时,是否设置了所有ENV变量? – akz92

+0

是的,他们是@ akz92 – Jstuff

回答

0

我想通了哪里出了问题。我有两个问题,第一个是在paper_clip中默认的; :s3_secret_access_key本应该是secret_access_key第二个是我不得不将我的策略更改为内联策略,尽管我不确定为什么这会给我一个错误。