2017-06-22 4 views
0

Ich erstellen eine Rails-Anwendung zum Hochladen von Dateien über Carrierwave S3 Bucket, Ich habe sie in einen Bucket hochgeladen und ich möchte sie in zwei Buckets und Regionen gleichzeitig hochladen. Wie kann ich das tun?Hochladen von Dateien in mehrere Buckets

+0

Warum wollen Sie das tun? Mehrere Uploads erhöhen die Wahrscheinlichkeit von Verbindungsproblemen. Wenn der zweite Upload nur aus Gründen der Datensicherung erfolgt, sollten Sie AWS S3-Einstellungen berücksichtigen, die genau damit umgehen (Backup, Versionierung usw.). – spickermann

Antwort

0

Sie können eine Upload-Methode erstellen und Ihren Bucket-Namen als Argument senden. Eine schnelle und schmutzige Version würde in etwa so aussehen:

def upload_file(specific_bucket = nil) 
    unless specific_bucket 
    BUCKET_LIST.each do |bucket| 
     # send file to bucket 
    end 
    else 
    # upload to specific_bucket 
    end 
end 

Speichern Sie Ihre Eimer-Liste in einer geeigneten Stelle

BUCKET_LIST = [bucket_name_one, bucket_name_two]