如何从 Amazon S3 下载上个月至今创建的文件夹?
我有使用 boto 的代码:
for key in bucket.list():
if last_month < dateutil.parser(key.last_modified).month:
key.get_contents_to_filename(local_path + key.name)
问题是循环将花费很长时间,因为它正在比较文件夹中的每个文件。我只想比较文件夹时间戳。
如果有更好的方法使用 AWS CLI。
最佳答案
这是不可能的。
Amazon S3 不使用目录。它是一种平面存储结构。
为了提供目录的外观,路径被添加到对象(文件)的键(文件名)之前。
例如,存储在名为 animals
的目录中的名为 cat.jpg
的对象实际上具有 animals/cat.jpg< 的键(文件名)
.
由于目录不存在,因此无法从目录中检索属性。
(顺便说一句,有一个“公共(public)前缀”的概念,在引用多个文件时可以像目录一样工作,但它仍然不是实际的目录。)
关于python - 如何从 Amazon S3 下载上个月创建的文件夹中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565785/