我试图在S3存储桶中获取文件大小的最小值/最大值,但我总是得到3个值而不是1个值。 我认为它是由分页控制的,但是我无法禁用它。
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条记录。
答案 0 :(得分:1)
aws s3api list-objects-v2 --bucket my-bucket --query 'sort_by(Contents,&Size)[0].Size'
sort_by()
按大小排序,因此您只需要使用[0]
就可以使用第一个元素。
答案 1 :(得分:0)
一旦我放上--output json
而不是--output text
,它就会给我最小的尺寸。
[
616
]
关于@Dunedan中本地--query的另一个好处-看起来它内部检索所有文件并在本地应用sort_by()(所以我为此付出了代价-与其他方法相比没有节省成本)