Как найти наименьший размер файла в корзине s3 с помощью AWS CLI? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь получить минимальный / максимальный размер файла в корзине S3, и я всегда получаю 3 значения вместо одного.Я думаю, что он управляется нумерацией страниц, но я не могу его отключить.

aws s3api list-objects-v2 
--bucket my-bucket-dev 
--prefix subscription/2019/04/01/23 
--output text  
--query 'sort_by(Contents,&Size)[:1].Size'

Результат:

618
616
620

Как получить 616 как результат без необходимости локальной сортировки?

ПРИМЕЧАНИЕ: я пробовал sort (), min (), max () max_by (), --no-pagination, --page-size 100000

, все они даюткак минимум 3 записи в результате.

Ответы [ 2 ]

1 голос
/ 04 апреля 2019
aws s3api list-objects-v2 --bucket my-bucket --query 'sort_by(Contents,&Size)[0].Size' 

sort_by() сортирует по размеру, поэтому вы просто хотите первый элемент, используя [0].

0 голосов
/ 03 апреля 2019

как только я положил --output json вместо --output text, это дало мне минимальный размер.

[
    616
]

еще один хороший момент о локальном --query из @Dunedan - похоже, что внутри он получает все файлы иприменяет sort_by () локально (так что я плачу за это - нет экономии средств по сравнению с другими методами)

...