2017-07-29 5 views
0

Ich versuche derzeit, Bilder auf AWS hochzuladen, aber immer Aws::Errors::MissingCredentialsError: unable to sign request without credentials set. In meiner aktuellen Konfiguration konfiguriere ich die Papierclip-Standardeinstellungen wie folgt in meiner application.rb Datei.Hochladen von Dateien in AWS mit Büroklammer

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"] 
    } 
} 

Da ist in meinem application.yml stelle ich die Werte der Variablen wie so

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" 

aber wenn ich versuche, und testen Sie diesen Code in den Schienen Konsole ich den obigen Fehler erhalten. Ich druckte die Werte von config.paperclip_defaults in meinem Code aus und sie stimmen mit den Werten überein, die ich in application.yml lieferte, so dass ich nicht verstehe, warum dieser Code fehlschlägt.

+0

Wenn in der Rails-Konsole getestet wird, sind alle ENV-Variablen gesetzt? – akz92

+0

Ja, sie sind @ akz92 – Jstuff

Antwort

0

Ich fand heraus, was falsch lief. Ich hatte zwei Probleme, das erste war, dass in paper_clip defaults; :s3_secret_access_key sollte nur secret_access_key sein, das zweite Wesen, das ich meine Richtlinie zu einer Inline-Richtlinie ändern musste, obwohl ich unsicher bin, warum das mir einen Fehler gab.

Verwandte Themen