如何从Amazon S3下载上个月创建的文件夹中的所有文件?

时间:2015-06-01 04:48:26

标签: python amazon-s3 boto aws-cli

如何从上个月创建的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。

1 个答案:

答案 0 :(得分:1)

这是不可能的。

Amazon S3不使用目录。这是一个平面存储结构。

为了给出目录的外观,路径被添加到对象(文件)的密钥(文件名)之前。

例如,存储在名为cat.jpg的目录中的名为animals的对象实际上具有animals/cat.jpg的密钥(文件名)。

由于目录不存在,因此无法从目录中检索属性。

(顺便说一句,有一个概念&#34;常用前缀&#34;在引用多个文件时可以像目录一样工作,但它仍然不是一个真正的目录。)