Как извлечь список всех папок или каталогов моего хранилища AWS S3?

Как извлечь список всех папок или каталогов моего хранилища AWS S3?

Предоставляет ли Amazon простой способ извлечь список всех папок с файлами размером более 500 МБ из корзины s3? Хочу также ограничить область действия каталогами '/files/ftp_upload/'. Это нужно для того, чтобы я мог рассчитать свои расходы и т. д.

Я пробовал это, но это не помогло.

aws s3 ls s3://YOUR_BUCKET/YOUR_FOLDER/ --recursive --human-readable --summarize

какой подход здесь наилучший?

решение1

В S3 нет концепции «папок», консоль только представляет данные как папки в консоли, разделяя ключи объектов по косой черте («/»). Поэтому суммирование данных по «папке» потребует разбора ключа каждого объекта.

Вы можете извлечь ВСЕ данные для объектов, которые соответствуют вашему ключевому префиксу, а затем выполнить некоторые логические и математические действия, чтобы суммировать их, но это требует много работы.

Если вам не нужны данные в реальном времени, S3 Inventory может стать хорошим решением. По сути, вы получаете список объектов в указанном контейнере S3 в одном из трех форматов: CSV, Apache ORC или Apache Parquet. Затем вы можете выполнять гораздо более простые вычисления на основе этих данных.

Недостатком S3 Inventory является то, что получение отчета занимает около дня, и он не предоставляется в режиме реального времени.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html

-- Если вы ищете более простой способ управления расходами, вы можете разбить вариант использования, используя один контейнер S3 для каждого. Затем вы можете использовать теги распределения затрат на уровне контейнера.

Отчеты об использовании S3 также полезны для определения необходимости использования другого класса хранилища.

Связанный контент