Быстрое начало. Развертывание веб-приложения Python (Django или Flask) в Службе приложений Azure

В этом кратком руководстве вы развернете веб-приложение Python (Django или Flask) в Службе приложений Azure. Служба приложений Azure — это полностью управляемая служба веб-размещения, которая поддерживает приложения Python 3.7 и более поздних версий, размещенных в среде сервера Linux.

Для работы с этим кратким руководством вам понадобится:

  1. Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
  2. Python 3.9 или более поздней версии, установленные локально.

1. Пример приложения

Инструкции из этого краткого руководства можно выполнить с помощью Flask или Django. Чтобы помочь в работе с этим кратким руководством, предоставляется пример приложения для каждой платформы. Скачайте или клонируйте пример приложения на локальную рабочую станцию.

git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart

Для локального запуска приложения:

  1. Перейдите в папку приложения:

    cd msdocs-python-flask-webapp-quickstart
    
  2. Создайте виртуальную среду для приложения:

    py -m venv .venv
    .venv\scripts\activate
    
  3. Установка зависимостей:

    pip install -r requirements.txt
    
  4. Запустите приложение:

    flask run
    
  5. В веб-браузере перейдите к примеру приложения по адресу http://localhost:5000.

    Screenshot of the Flask app running locally in a browser

Возникли проблемы? Сообщите нам об этом.

2. Создание веб-приложение в Azure

Чтобы разместить приложение в Azure, необходимо создать веб-приложение Службы приложений Azure в Azure. Вы можете создать веб-приложение с помощью портала Azure, VS Code, используя пакет расширений инструментов Azure или Azure CLI.

Войдите на портал Azure и выполните следующие действия, чтобы создать ресурсы Службы приложений Azure.

Инструкции Снимок экрана
На портале Azure выполните следующие действия:
  1. Введите службы приложений в строку поиска в верхней части портала Azure.
  2. В меню, которое отображается под панелью поиска, в разделе Службы выберите элемент Службы приложений.
A screenshot of how to use the search box in the top tool bar to find App Services in Azure.
На странице Службы приложений нажмите + Создать. A screenshot of the location of the Create button on the App Services page in the Azure portal.
На странице Создание веб-приложения заполните форму следующим образом.
  1. Группа ресурсов → выберите Создать новый и используйте имя msdocs-python-webapp-quickstart.
  2. Имя → msdocs-python-webapp-quickstart-XYZ, где XYZ — это любой из трех случайных символов. Это имя должно быть уникальным в Azure.
  3. Стек среды выполнения → Python 3.9.
  4. Регион → любой ближайший к вам регион Azure.
  5. План Службы приложений → в разделе Номер SKU и размер выберите Изменить размер, чтобы выбрать другой план службы приложений.
A screenshot of how to fill out the form to create a new App Service in the Azure portal.
План службы приложений определяет, сколько ресурсов (ЦП и памяти) доступно для вашего приложения, и стоимость этих ресурсов.

В этом примере в верхней части экрана выберите элемент Разработка и тестирование, а затем щелкните план B1 (Базовый). Базовый план B1 повлечет за собой небольшую плату за учетную запись Azure, но он рекомендуется для повышения производительности по сравнению с планом F1 (Бесплатный).

По завершении нажмите кнопку Применить, чтобы применить внесенные изменения.
A screenshot of how to select the basic app service plan in the Azure portal.
На странице Создание веб-приложения выберите в нижней части экрана Просмотр и создание.

Откроется страница Просмотр. Нажмите Создать, чтобы создать вашу Службу приложений.
A screenshot of the location of the Review plus Create button in the Azure portal.

Возникли проблемы? Сообщите нам об этом.

3. Развертывание кода приложения в Azure

Служба приложений Azure поддерживает несколько методов развертывания кода приложения в Azure, в том числе GitHub Actions и все основные инструменты CI/CD. В этой статье рассматривается развертывание кода с локальной рабочей станции в Azure.

Так как на предыдущем шаге были созданы необходимые ресурсы и сразу развернуто приложение, вы можете перейти к шагу 4 "Переход к приложению".


Возникли проблемы? Сначала изучите руководство по устранению неполадок. Если проблему решить не удается, свяжитесь с нами.

4. Переход в приложение

Найдите развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net. Если видите страницу приложения по умолчанию, подождите минуту и обновите браузер.

Пример кода Python запускает контейнер Linux в Службе приложений с помощью встроенного образа.

Screenshot of the app running in Azure

Поздравляем! Вы развернули свое приложение Python в Cлужбе приложений.

Возникли проблемы? Сначала изучите руководство по устранению неполадок. Если проблему решить не удается, свяжитесь с нами.

5. Потоковая передача журналов

Служба приложений Azure захватывает все сообщения, выводимые на консоль, чтобы помочь в диагностике проблем с приложением. Примеры приложений включают операторы print() для демонстрации этой возможности.

@app.route('/')
def index():
   print('Request for index page received')
   return render_template('index.html')

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static'),
                               'favicon.ico', mimetype='image/vnd.microsoft.icon')

@app.route('/hello', methods=['POST'])
def hello():
   name = request.form.get('name')

   if name:
       print('Request for hello page received with name=%s' % name)

Содержимое журналов диагностики Службы приложений можно просмотреть на портале Azure, в VS Code или с помощью Azure CLI.

Инструкции Снимок экрана
Сначала необходимо включить журналы потоковой передачи в Службе приложений Azure. Перейдите на страницу экземпляра Службы приложений на портале Azure.

  1. В меню с левой стороны страницы в разделе Мониторинг выберите Журналы Службы приложений.
  2. Измените значение свойства Ведение журнала приложения с Выкл. на Файловая система.
  3. Введите период хранения журналов — 30 дней.
  4. Выберите Сохранить, чтобы сохранить изменения.
A screenshot of the location in the Azure portal where to enable streaming logs.
В меню в разделе Мониторинг выберите элемент Поток журналов. Обновите домашнюю страницу в приложении или попытайтесь выполнить другие запросы, чтобы создать какие-то сообщения журнала.

В выходных данных вы увидите все сообщения журнала, созданные приложением, и сообщения, созданные службой.
A screenshot of how to view logs in the Azure portal.

Возникли проблемы? Сначала изучите руководство по устранению неполадок. Если проблему решить не удается, свяжитесь с нами.

Очистка ресурсов

Завершив работу с примером приложения, можно удалить все ресурсы для приложения в Azure. Это не приведет к дополнительным расходам и сохранит порядок в подписке Azure. Удаление группы ресурсов также повлечет удаление всех ресурсов в группе ресурсов, что является самым быстрым способом удаления всех ресурсов Azure для приложения.

Чтобы удалить группу ресурсов, после входа на портал Azure выполните следующие действия.

Инструкции Снимок экрана
На портале Azure перейдите к группе ресурсов.
  1. В поле поиска в верхней части портала введите имя группы ресурсов.
  2. В разделе Группы ресурсов выберите имя группы ресурсов, чтобы перейти к ней.
A screenshot of how to search for and navigate to a resource group in the Azure portal.
В верхней части страницы выберите Удалить группу ресурсов. A screenshot of the location of the Delete Resource Group button in the Azure portal.
В диалоговом окне подтверждения введите имя группы ресурсов для подтверждения удаления. Нажмите кнопку Удалить для удаления группы ресурсов. A screenshot of the confirmation dialog for deleting a resource group in the Azure portal.

Возникли проблемы? Сообщите нам об этом.

Дальнейшие действия