How to get N files from S3 bucket ordered by max size and modified after certain date using CloudShell?


I tried to use this command:

aws s3api list-objects-v2 --bucket BUCKETNAME --query 'Contents[?LastModified>=2022-12-28].Key && sort_by(Contents, &Size)[-5:]'

And while it searches for 5 files ordered by max size, the files may be last modified before 2022-12-28, it seems that part of the query is just being ignored.

What am I doing wrong? With the command above I expected to see files ordered by max size that were modified AFTER 2022-12-28.

Thank you in advance.

1 Answer
Accepted Answer

If you need 5 object keys sorted in ascending order of size among objects modified after 2022-12-28, how about this?

aws s3api list-objects-v2 --bucket BUCKETNAME --query 'sort_by(Contents[?LastModified>='"2022-12-28"'], &Size)[-5:].Key'

answered 3 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions