2013-05-20 2 views

Antwort

10

Setzen Sie die Option: region in den Fog-Verbindungsparametern auf den Namen der Region, in der Ihr Bucket vorhanden ist.

Zum Beispiel habe ich eine Bucket namens "bucket-a" in der Region "eu-west-1" und meine s3 Schlüssel und Geheimnis sind in den Variablen s3_key bzw. s3_secret.

ich durch Öffnen meiner Nebel Verbindung direkt zu dieser Region verbinden können wie folgt:

s3 = Fog::Storage.new(provider: 'AWS', aws_access_key_id: s3_key, aws_secret_access_key: s3_secret, region: 'eu-west-1') 

Und jetzt, wenn ich den Inhalt aufzulisten, wird keine Region Warnung ausgegeben:

s3.directories.get('bucket-a').files 

Wenn Sie möchten, dies für alle Ihre Eimer zu tun, anstatt sich auf einen Eimer-by-Eimer Basis können Sie folgendes einstellen:

Fog::Storage::AWS::DEFAULT_REGION = 'eu-west-1' 
+0

Ich benutze [sitemap_generator] (https://github.com/kjvarga/sitemap_generator) gem mit s3adapter in einer Rails 3.2 App. [sitemap_generator] (https://github.com/kjvarga/sitemap_generator) verwendet intern Nebel. Trotz des Hinzufügens von 'region:' ap-southeast-1'' Parameter zum Hash, bekomme ich weiterhin die Warnung @clozach hat erwähnt – Litmus

+0

welche Version von sitemap_generator verwenden Sie? –

+0

sitemap_generator-4.1.0. Der Hash-Schlüssel heißt 'fog_region' und wird letztendlich als 'region' in Nebel umgewandelt. '{Aws_access_key_id: , aws_secret_access_key: , fog_provider: 'AWS', fog_directory: , fog_region: 'ap-S-1'}' – Litmus