[英]How to get N files from S3 bucket ordered by max size and modified after certain date using CloudShell?
我尝试使用这个命令:
aws s3api list-objects-v2 --bucket BUCKETNAME --query 'Contents[?LastModified>=2022-12-28].Key && sort_by(Contents, &Size)[-5:]'
虽然它搜索按最大大小排序的 5 个文件,但这些文件的最后修改时间可能在 2022 年 12 月 28 日之前,似乎部分查询只是被忽略了。
我究竟做错了什么?
使用上面的命令,我希望看到在 2022 年 12 月 28 日或之后修改的按最大大小排序的文件。
你是对的,当时间检查和排序查询都包括在内时,结果似乎有问题。
您可以使用此命令正确按日期过滤,然后使用终端排序按大小排序。
aws s3api list-objects-v2 --bucket BUCKETNAME --query 'Contents[?LastModified > `2022-12-28`].{Key: Key, Size: Size}' --output text | sort -k2 -n
一段时间后我终于找到了解决方案,这将在 2022-12-28 之后修改的对象中按大小升序对 5 个对象进行排序
aws s3api list-objects-v2 --bucket BUCKETNAME --query 'sort_by(Contents[?LastModified>=`2022-12-28`], &Size)[-5:]'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.