我有点深奥了。我想在 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/