Получение размера каждой папки и подпапки в S3 с использованием Python boto3 - PullRequest
0 голосов
/ 14 апреля 2020

Я пишу python3 лямбда-функцию, чтобы получить общий размер каждой папки и подпапки в корзине s3, используя boto3. Вот как хранятся файлы:

http://s3/bucket 
    Folder1
        Folder1.1
            Item1.1.1
            Item1.1.2
         Folder1.2
             Item1.2.1
        ...
    Folder2
        Folder2.1
            Item2.1.1
        ...

Мне нужно получить размер каждой папки и подпапки. Из того, что я видел во время исследования, кажется, что единственный способ сделать это - получить размер каждого файла в каждой папке и в подпапке каждой папки ... и сложить их. Это очень неэффективно ... особенно потому, что в каждой подпапке тысячи файлов, в каждой папке более 50 подпапок и более 20 папок.

Как мне подойти к этой задаче? Извините, если я использовал неправильную терминологию здесь. Пожалуйста, поправьте меня, если я сказал что-то не так. Я учусь, как я go, только что получил это задание на работу.

Заранее спасибо; был бы очень признателен за помощь!

1 Ответ

1 голос
/ 14 апреля 2020

Я предлагаю вам использовать Amazon S3 Inventory .

. Он может предоставить ежедневный файл CSV, содержащий список всех объектов в корзине.

Ваша программа будет необходимо проанализировать файл CSV и выполнить вычисления, но это будет намного быстрее, чем вызовы API для Amazon S3.

...