Загрузка файла Flask в хранилище озера данных Azure - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь загрузить файл из приложения Flask (Flask-restplus) напрямую в хранилище озера данных Azure (gen1).

Приложение фляги работает в веб-приложении Azure.Возможно ли это вообще, или мне нужно сначала загрузить его на сервер веб-приложений Azure, а затем перенести в ADLS?

В библиотеке python для ADLS (https://github.com/Azure/azure-data-lake-store-python), похоже, нет никакой функции для этого. Например, ADLUploader ожидает локальный файл в качестве источника.

Спасибо!

1 Ответ

0 голосов
/ 20 мая 2019

Прямого пути для этого нет.

Один из способов заключается в том, что, как вы упомянули, загрузите на сервер приложений, а затем перейдите на ADLS.

Другой возможный способ заключается в том, что если вы можете convert the file content to bytes, то вы можете использовать некоторые другие методы в ADLS, такие как open() / write(), подробности, как показано ниже (только псевдокод, вы можете изменить их в соответствии с вашими потребностями):

1.Создать клиента: myclient = core.AzureDLFileSystem(adlCreds,store_name=adlsAccountName)

2. Получите имя загружаемого файла, создайте пустой файл в ADLS: myclient.touch("test/myfile.txt")

3.Откройте файл в ADLS в режиме 'wb': myfile = myclient.open('test/myfile.txt','wb')

4.Используйте некоторые методы для преобразования содержимого загружаемого файла в байты

5. Используйте метод write () и flush () для записи байтового содержимого в файлы в ADLS:

myfile.write(in_file.read()) #the content should be bytes
myfile.flush(force=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...