python - Boto - 从 S3 抓取最新的

标签 python amazon-s3 amazon-web-services boto

我有点深奥了。我想在 S3 上存储备份,然后在下载 S3 存储桶的特定“文件夹”中的最新修改文件时尝试下载脚本。

我做到了这一点:

import boto
s3conn = boto.connect_s3()
bucket = s3conn.lookup('my_bucket_name')
for key in bucket:
  print k.name, k.last_modified

key.getfile()

到目前为止,这是为了获取存储桶中每个文件的名称和最后修改时间。这就是我真正卡住的地方,因为我需要获取最新的然后下载它,这就是我卡住的地方。

谁能伸出援手?

最佳答案

您需要按 last_modifed 对键列表进行排序,然后列表的最后一项将是您想要的文件。像这样:

key_list = bucket.list()
key_list.sort(cmp = lambda x, y:
    cmp(x.last_modified, y.last_modified))
key_list[-1].get_file(destination_fp)

这是您可以尝试的另一种排序方法:

key_list.sort(key=lambda x: x.last_modified)

关于python - Boto - 从 S3 抓取最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13771399/

相关文章:

amazon-web-services - 使用 AWS CloudFormation 设置 S3 存储桶级别事件

amazon-web-services - Terraform 多个 s3 存储桶创建

python - Pandas 数据框 : How to parse integers into string of 0s and 1s?

django - 使用 S3BotoStorage 上传到 S3 的文件最终会包含无效转义的内容类型元数据

python - 在 Django 中重用 filter() 查询集

amazon-web-services - Cognito用户池: How to refresh Access Token using Refresh Token

amazon-web-services - Amazon AWS Filezilla 传输权限被拒绝

iphone - 从 iPhone 应用程序上传到 Amazon S3 服务

python - 更改字体大小时如何使条目小部件的标签位置正确更新?

python - 为什么我的子列表包含所有元素?