2013-05-20 12 views

risposta

10

Impostare l'opzione: region nei parametri di connessione Fog sul nome della regione in cui è presente il bucket.

Ad esempio, ho un bucket chiamato "bucket-a" nella regione "eu-west-1" e la mia chiave s3 e il segreto sono rispettivamente nelle variabili s3_key e s3_secret.

posso collegare a questa regione direttamente aprendo la mia connessione nebbia come segue:

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

E ora quando elencare il contenuto, nessun avviso regione viene emesso:

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

Se si desidera per fare questo per tutti i tuoi bucket, piuttosto che su base bucket per bucket puoi impostare quanto segue:

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

Sto usando gemma [sitemap_generator] (https://github.com/kjvarga/sitemap_generator) con s3adapter in un'app di rails 3.2. [sitemap_generator] (https://github.com/kjvarga/sitemap_generator) utilizza la nebbia internamente. Nonostante aggiunga il parametro 'region: 'ap-southeast-1'' all'hash, continuo a ricevere l'avviso @clozach ha menzionato – Litmus

+0

quale versione di sitemap_generator stai usando? –

+0

sitemap_generator-4.1.0. La chiave hash si chiama 'fog_region', che alla fine viene passata alla nebbia come' region'. '{Aws_access_key_id: , aws_secret_access_key: , fog_provider: 'AWS', fog_directory: , fog_region: 'ap-sud-est-1'}' – Litmus