Мне нужно обрабатывать большие файлы, хранящиеся в корзине S3. Мне нужно разделить файл CSV на более мелкие куски для обработки. Тем не менее, кажется, что эта задача лучше выполняется в хранилище файловой системы, а не в хранилище объектов. Поэтому я планирую загрузить большой файл в локальный каталог, разделить его на более мелкие куски и затем загрузить полученные файлы вместе в другую папку. Мне известен метод download_fileobj, но я не смог определить, приведет ли он к ошибке out of memory при загрузке больших файлов размером ~ = 10 ГБ.

-1
aviral sanjay 20 Авг 2018 в 19:56

3 ответа

Лучший ответ

Вы можете попробовать boto3 s3.Object api.

import boto3
s3 = boto3.resource('s3')
object = s3.Object('bucket_name','key')

body = object.get()['Body'] #body returns streaming string

for line in body:
    print line
0
raghavyadav990 16 Янв 2019 в 07:07
51935363