2017-07-29 45 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第二個是我不得不將我的策略更改爲內聯策略,儘管我不確定爲什麼這會給我一個錯誤。