Можно ли ограничить глубину рекурсивного списка каталогов в корзине S3? - PullRequest
0 голосов
/ 25 января 2019

Я использовал следующую команду:

aws s3 ls s3://mybucket/mydir --recursive > bigfile

Полученный файл слишком велик (9,5 МБ), чтобы с ним было удобно работать, поскольку мне нужно просмотреть информацию, которую я ищу.

Все, что мне действительно нужно, это информация на три уровня ниже.Можно ли настроить эту команду так, чтобы я использовал только N уровней, а не весь каталог?Я не вижу ничего похожего на -maxdepth для команд S3 CLI ls

Обновление: Вот команда, которую я использовал для получения необходимой информации, хотя я недоволен этим.Он по-прежнему давал мне 77000 результатов, когда мне нужно было только 40 или около того уникальных значений, но он был достаточно коротким, чтобы портировать в Excel и сократить текст-столбцы и удалить дубликаты.

 aws s3 ls s3://mybucket/mydir --human-readable --summarize --recursive | egrep '*_keytext_*' | tr -s ' ' | cut -d' ' -f5 >smallerfile

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Amazon S3 не имеет понятия «уровни». Это плоская система хранения, путь которой является частью имени объекта (Ключ). Однако некоторые вызовы API поддерживают возможность указать Prefix, который может работать как поиск в определенном каталоге.

Альтернативой использованию aws s3 ls является использование Amazon S3 Inventory , которая может предоставить ежедневный CSV-файл со списком содержимого корзины.

0 голосов
/ 25 января 2019

Попробуйте использовать параметр --exclude regex для сопоставления по крайней мере 3 / символов

...