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

标签 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。

最佳答案

这是不可能的。

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

为了提供目录的外观,路径被添加到对象(文件)的键(文件名)之前。

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

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

(顺便说一句,有一个“公共(public)前缀”的概念,在引用多个文件时可以像目录一样工作,但它仍然不是实际的目录。)

关于python - 如何从 Amazon S3 下载上个月创建的文件夹中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565785/

相关文章:

python - 使用 Python 和 SQLite3 动态生成 SQL 查询

json - JSON 格式的 Amazon S3 响应?

python - 使用 boto 和 python 从带有参数的布局创建 mTurk HIT

python - 如何转换也包含整数 NaN 的年份行?

python - 如何说服 python 流对象从 isatty() 返回 true?

css - Amazon S3 CORS(Cross-Origin Resource Sharing)和Firefox跨域字体加载

python - get_bucket() 为我未通过 Boto 创建的 S3 存储桶提供 'Bad Request'

amazon-web-services - ansible ec2_metric_alarm 不会附加到自动缩放策略

python - 了解 Elastic Transcoder 的 boto 文档

python - Vim 缩进(Python 编程)