#python #azure #python-requests #azure-web-app-service #azure-webjobs
#python #лазурный #python-запросы #azure-web-app-service #azure-веб-задания
Вопрос:
В течение последних нескольких недель я пытался развернуть веб-скребок, написанный на python, в Azure. Сначала я попытался сделать это в службе приложений Azure, создав отправку образа docker в службу. Ранее я добивался успеха с помощью этого метода при развертывании rest api flask. К сожалению, ограничение времени ожидания службы приложений Azure означало, что контейнер web scraper завершается, поскольку он не дает надлежащего ответа, когда azure пытается получить ответ.
С тех пор я попытался настроить службу приложений на базе Windows, чтобы создать Azure WebJob, однако у этого есть проблема с ограничением на python 3.6, что, я считаю, вызывает проблемы с импортом. Я не могу импортировать модуль «запросы», который необходим для правильной работы скребка. У меня есть requirements.txt внутри zip-файла я загружаю webjob, но, похоже, это также не позволяет импортировать этот модуль. Есть ли способ импортировать модули изнутри webjob или есть другой / лучший способ развертывания повторяющейся задачи в Azure, которая не должна выдавать ответ API, как при обычном развертывании службы приложений Azure.
Ниже приведена ошибка, которую я получаю в журналах webjob :
[12/19/2020 16:36:48 > 658fd3: SYS INFO] Run script 'run.py' with script host - 'PythonScriptHost'
[12/19/2020 16:36:48 > 658fd3: SYS INFO] Status changed to Running
[12/19/2020 16:36:48 > 658fd3: ERR ] Traceback (most recent call last):
[12/19/2020 16:36:48 > 658fd3: ERR ] File "run.py", line 12, in <module>
[12/19/2020 16:36:48 > 658fd3: ERR ] import requests
[12/19/2020 16:36:48 > 658fd3: ERR ] ModuleNotFoundError: No module named 'requests'
Любая помощь будет очень признательна, спасибо.
Ответ №1:
Вы можете использовать бессерверную функцию Azure, называемую Functions . Если вы хотите использовать ее более эффективно, создайте контейнер docker с любым изображением, которое вы хотите, и загрузите его в качестве своей функции, но остерегайтесь холодных запусков