2013-05-20 24 views

回答

10

將Fog連接參數中的region選項設置爲存儲區所在區域的名稱。

例如,我在區域「eu-west-1」中有一個名爲「bucket-a」的桶,我的s3密鑰和祕密分別在變量s3_key和s3_secret中。

我可以直接打開我的霧連接如下連接到此區域:

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

,現在當我列出的內容,沒有區域發出警告:

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

如果你想要爲您的所有存儲桶執行此操作,而不是逐個存儲桶,您可以設置以下內容:

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

我在rails 3.2應用程序中使用[sitemap_generator](https://github.com/kjvarga/sitemap_generator)gem和s3adapter。 [sitemap_generator](https://github.com/kjvarga/sitemap_generator)在內部使用霧。儘管在散列中添加了'region:'ap-southeast-1''參數,我仍繼續收到@clozach提到的警告 – Litmus

+0

您使用的是什麼版本的sitemap_generator? –

+0

sitemap_generator-4.1.0。散列鍵被稱爲'fog_region',最終會以'region'的形式傳遞給霧。 '{aws_access_key_id:,aws_secret_access_key:, fog_provider: 'AWS', fog_directory:, fog_region: 'AP-東南-1'}' – Litmus