我需要使用Boto3从S3中获取项目列表,但不是返回默认排序顺序(降序),而是希望它通过相反的顺序返回。Boto3 S3,按最后修改的排序桶
我知道你可以通过awscli做到这一点:
aws s3api list-objects --bucket mybucketfoo --query "reverse(sort_by(Contents,&LastModified))"
,并通过UI控制台其可行的(不知道这是做客户端或服务器端)
我似乎怎么看在Boto3中做到这一点。
我目前正在抓取所有的文件,然后排序......但似乎矫枉过正,尤其是如果我只关心10个左右的最新文件。
过滤器系统似乎只接受s3的前缀,没有别的。
您可以获取所有对象,获取其最后修改日期并根据日期对其进行排序。看看这个[问题](https://stackoverflow.com/questions/9679344/how-can-i-get-last-modified-datetime-of-s3-objects-with-boto) – cookiedough
S3 api不支持以这种方式列出。 CLI(也可能是控制台)将获取所有内容,然后执行排序。 –
您正在将数据返回到Python,因此只需对返回的数据进行排序即可。没有必要问boto3为你做 - 这只是一个额外的Python。 –