2013-04-11 36 views

回答

36

在directory.get方法中使用prefix選項。例如:

def get_files(path, options) 
    connection = Fog::Storage.new(
    provider: 'AWS', 
    aws_access_key_id: options[:key], 
    aws_secret_access_key: options[:secret] 
) 
    connection.directories.get(options[:bucket], prefix: path).files.map do |file| 
    file.key 
    end 
end 
+1

可能值得注意的是'前綴'是_actually_後綴,至少在結構上來說。如果嵌套桶的路徑是'foo/bar',那麼你的方法調用將是:'.get('foo',前綴:'bar')'。 – pdoherty926 2015-07-17 02:19:09

+0

如果您不認爲存儲桶名稱是路徑的一部分,pdoherty926的註釋有點令人困惑。 – Amir 2016-04-25 14:21:38

+1

這裏有一個邊界情況,調用'.map'將不會返回ALL,而只會返回AWS api返回的單個頁面。調用每個文件都會讓Fog管理內存消耗,因爲可能有很多文件。 – rposborne 2016-06-14 19:14:30

相關問題