s3- boto- list files within a bucket by upload time

浪尽此生 提交于 2019-12-30 22:59:10

问题


I need to download every hour 100 newest files from s3 server.

bucketList = bucket.list(PREFIX)

The code above creates list of the files but it is not depend on the uploading time of the files, since it lists by file name?

I can do nothing with file name. It is given randomly.

Thanks.


回答1:


How big is the list? You could sort the list on the 'last_modified' attr of the Key

orderedList = sorted(bucketList, key=lambda k: k.last_modified)
keysYouWant = orderedList[0:100]

If your list is HUGE this may not be efficient. Check out the inline docs for the list() function in boto.s3.bucket.Bucket.




回答2:


My reading of List Objects operation documentation, suggests that objects are always listed in alphabetical order (by object key).

If you encode the creation time of each object into the object key, you may be able to achieve what you want.



来源:https://stackoverflow.com/questions/7969653/s3-boto-list-files-within-a-bucket-by-upload-time

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!