Следующее возвращает мне данные:
aws s3api list-objects --bucket "buket_name" --prefix "file_name_prefix" --query "Contents[?Size<'99999999999999']"
В то же время это ничего не возвращает:
aws s3api list-objects --bucket "buket_name" --prefix "file_name_prefix" --query "Contents[?Size>'1']"
Согласно Спецификация JMESPath, параметры должны заключаться в кавычки с обратными галочками (`).
Однако это, похоже, мешает работе командной строки, поэтому их нужно экранировать с помощью обратной косой черты, как и оператор «больше».
На Mac у меня работали следующие команды:
aws s3api list-objects --bucket my-bucket --query Contents[?Size\>\`1\`].Key
aws s3api list-objects --bucket my-bucket --query Contents[?Size==\`305\`].Key
Спасибо, что заметили это! Интересно, что одинарные кавычки подходят для операции «меньше», а не для «больше». Замена одинарных кавычек на обратные тики решила проблему: aws s3api list-objects --bucket "buket_name" --prefix "file_name_prefix" --query "Contents [? Size>` 10000`] "