我需要每小时从 s3 服务器下载 100 个最新文件。
bucketList = bucket.list(PREFIX)
上面的代码创建了文件列表,但它不依赖于文件的上传时间,因为它是按文件名列出的?
我对文件名无能为力。它是随机给出的。
谢谢。
名单有多大?您可以在 Key 的“last_modified”属性上对列表进行排序
orderedList = sorted(bucketList, key=lambda k: k.last_modified)
keysYouWant = orderedList[0:100]
如果您的列表很大,这可能效率不高。查看 boto.s3.bucket.Bucket 中 list() 函数的内联文档。
我对List Objects操作文档的阅读表明,对象始终按字母顺序列出(按对象键)。
如果将每个对象的创建时间编码到对象键中,或许就能达到你想要的效果。