2016-05-21 2 views
3

Я пытаюсь загрузить большой файл через Azure-python-sdk get_blob_to_stream, однако моя программа продолжает работать с кодом возврата 137, что, похоже, связано с нехваткой памяти. (Я вижу сверху, что питон потребляет все больше и больше памяти, пока не будет убит).Загрузите azure blob через поток - Exit 137

Код:

with io.open(file_path, 'w') as file: 
    self.blob_service.get_blob_to_stream(container_name='container', blob_name=blob_name, stream=file) 

Я использую azure-sdk-for-python и get_blob_to_stream для этого, и файл составляет около 6,5 Гб.

Файл создается как 0 байтов, и на него ничего не написано - я делаю что-то явно неправильно здесь?

ответ

3

После загрузки SDK и прохождения кода я узнал, как получить эту большую загрузку блоба.

  1. Вы должны обеспечить max_connections дорожит больше 1 - это позволяет возможность загрузить файл на кусках и писать их в поток.
  2. Вам необходимо пройти в двоичном потоке ('Wb')

Рабочий код из примера вопрос:

with io.open(file_path, 'wb') as file: 
    self.blob_service.get_blob_to_stream(container_name='wxdata', blob_name=blob_name, stream=file, max_connections=2) 
Смежные вопросы