如何使用Fog列出特定S3“目录”中的所有文件?
我知道S3不会将文件存储在文件夹中,但我需要一种方法来限制返回的文件只能是特定的“文件夹”,而不是检索存储桶中的整个列表。
在 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
.get('foo', prefix: 'bar')
。 - pdoherty926.map
不会返回所有内容,而只会返回AWS API返回的单个页面。在文件上调用.each
将让Fog管理内存消耗,因为可能有很多文件。 - rposborne