Команды CLI AWS - PullRequest
       10

Команды CLI AWS

0 голосов
/ 31 августа 2018

Я хочу получить список всех файлов в корзине S3 с определенным шаблоном именования. Например, если у меня есть файлы типа

aaaa2018-05-01
aaaa2018-05-23
aaaa2018-06-30
aaaa2018-06-21

Мне нужно получить список всех файлов за 5-й месяц. Выход должен выглядеть следующим образом:

aaaa2018-05-01
aaaa2018-05-23

Я выполнил следующую команду, и результат оказался пустым:

aws s3api list-objects --bucket bucketname --query "Contents[?contains(Key, 'aaaa2018-05-*')]" > s3list05.txt

когда я проверяю s3list05.txt, он пуст. Также я попробовал приведенную ниже команду и

aws s3 ls s3:bucketname --recursive | grep aaaa2018-05* > s3list05.txt

эта команда перечисляет мне все объекты, присутствующие в файле. Пожалуйста, дайте мне знать точную команду, чтобы получить желаемый результат.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Параметру Contains не требуется подстановочный знак:

aws s3api list-objects --bucket bucketname --query "Contents[?contains(Key, 'aaaa2018-05')].[Key]" --output text

Предоставляет список ключей.

--output text удаляет форматирование JSON.

Использование [Key] вместо просто Key помещает их все в одну строку.

0 голосов
/ 31 августа 2018

Вы почти у цели. Попробуйте это:

aws s3 ls s3://bucketname --recursive | grep aaaa2018-05

или

aws s3 ls bucketname --recursive | grep aaaa2018-05
...