Создание приложения Python в Службе приложений Azure в Linux (предварительная версия)Create a Python app in Azure App Service on Linux (Preview)

Служба приложений на платформе Linux — это высокомасштабируемая служба размещения с самостоятельной установкой исправлений на основе операционной системы Linux.App Service on Linux provides a highly scalable, self-patching web hosting service using the Linux operating system. В этом кратком руководстве показано, как развернуть приложение Python на основе встроенного образа Python (предварительная версия) в службе приложений в Linux с помощью Azure CLI.This quickstart shows how to deploy a Python app on top of the built-in Python image (Preview) in App Service on Linux using the Azure CLI.

Выполните инструкции, приведенные в этом руководстве, с помощью компьютера Mac, Windows или Linux.You can follow the steps in this article using a Mac, Windows, or Linux machine.

Пример приложения, выполняющегося в Azure

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.If you don't have an Azure subscription, create a free account before you begin.

Предварительные требованияPrerequisites

Для работы с этим кратким руководством сделайте следующее:To complete this quickstart:

Скачать пример на локальный компьютерDownload the sample locally

В окне терминала выполните нижеприведенные команды, чтобы клонировать пример приложения на локальный компьютер и перейти в каталог, содержащий пример кода.In a terminal window, run the following commands to clone the sample application to your local machine, and navigate to the directory with the sample code.

git clone https://github.com/Azure-Samples/python-docs-hello-world
cd python-docs-hello-world

Репозиторий содержит файл application.py, который сообщает Службе приложений, что репозиторий содержит приложение Flask.The repository contains an application.py, which tells App Service that the repository contains a Flask app. Дополнительные сведения см. в статье Настройка приложений Python для Службы приложений Azure под управлением Linux.For more information, see Container startup process and customizations.

Локальный запуск приложенияRun the app locally

Запустите приложение локально, чтобы увидеть, как оно будет выглядеть после развертывания в Azure.Run the application locally so that you see how it should look when you deploy it to Azure. Откройте окно терминала и используйте нижеприведенные команды для установки необходимых зависимостей и запуска встроенного сервера разработки.Open a terminal window and use the commands below to install the required dependencies and launch the built-in development server.

# In Bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
FLASK_APP=application.py flask run

# In PowerShell
py -3 -m venv env
env\scripts\activate
pip install -r requirements.txt
Set-Item Env:FLASK_APP ".\application.py"
flask run

Откройте веб-браузер и перейдите к примеру приложения по адресу http://localhost:5000/.Open a web browser, and navigate to the sample app at http://localhost:5000/.

На странице отобразится сообщение Hello World!You see the Hello World! из примера приложения.message from the sample app displayed in the page.

Пример приложения, выполняющегося локально

В окне терминала нажмите клавиши CTRL+C, чтобы выйти из веб-сервера.In your terminal window, press Ctrl+C to exit the web server.

Открытие Azure Cloud ShellOpen Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье.Azure Cloud Shell is a free, interactive shell that you can use to run the steps in this article. В Cloud Shell предварительно установлены и настроены общие инструменты Azure для использования с вашей учетной записью.Common Azure tools are preinstalled and configured in Cloud Shell for you to use with your account. Нажмите кнопку Копировать, чтобы скопировать код. Вставьте его в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить код.Just select the Copy button to copy the code, paste it in Cloud Shell, and then press Enter to run it. Cloud Shell можно открыть разными способами:There are a few ways to open Cloud Shell:

Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. Cloud Shell в этой статье
Откройте Cloud Shell в браузере.Open Cloud Shell in your browser. https://shell.azure.com/bash
Нажмите кнопку меню Cloud Shell в правом верхнем углу окна портала Azure.Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Cloud Shell на портале

Скачивание примера приложенияDownload the sample

В Cloud Shell создайте каталог quickstart и перейдите в него.In the Cloud Shell, create a quickstart directory and then change to it.

mkdir quickstart

cd quickstart

Затем выполните следующую команду, чтобы клонировать репозиторий с примером приложения в локальный каталог quickstart.Next, run the following command to clone the sample app repository to your quickstart directory.

git clone https://github.com/Azure-Samples/python-docs-hello-world

При выполнении эта команда выводит приблизительно следующие сведения:While running, it displays information similar to the following example:

Cloning into 'python-docs-hello-world'...
remote: Enumerating objects: 43, done.
remote: Total 43 (delta 0), reused 0 (delta 0), pack-reused 43
Unpacking objects: 100% (43/43), done.
Checking connectivity... done.

Создание веб-приложенияCreate a web app

Перейдите в каталог, в котором содержится пример кода, и выполните команду az webapp up.Change to the directory that contains the sample code and run the az webapp up command.

В следующем примере замените <app_name> уникальным именем приложения.In the following example, replace <app_name> with a unique app name.

cd python-docs-hello-world

az webapp up -n <app_name>

Выполнение этой команды может занять несколько минут.This command may take a few minutes to run. При выполнении эта команда выводит приблизительно следующие сведения:While running, it displays information similar to the following example:

The behavior of this command has been altered by the following extension: webapp
Creating Resource group 'appsvc_rg_Linux_CentralUS' ...
Resource group creation complete
Creating App service plan 'appsvc_asp_Linux_CentralUS' ...
App service plan creation complete
Creating app '<app_name>' ....
Webapp creation complete
Creating zip with contents of dir /home/username/quickstart/python-docs-hello-world ...
Preparing to deploy contents to app.
All done.
{
  "app_url": "https:/<app_name>.azurewebsites.net",
  "location": "Central US",
  "name": "<app_name>",
  "os": "Linux",
  "resourcegroup": "appsvc_rg_Linux_CentralUS ",
  "serverfarm": "appsvc_asp_Linux_CentralUS",
  "sku": "BASIC",
  "src_path": "/home/username/quickstart/python-docs-hello-world ",
  "version_detected": "-",
  "version_to_create": "python|3.7"
}

Команда az webapp up выполняет следующие действия:The az webapp up command does the following actions:

  • создание группы ресурсов по умолчанию;Create a default resource group.

  • создание плана службы приложений по умолчанию;Create a default app service plan.

  • создание приложения с указанным именем.Create an app with the specified name.

  • Разверните ZIP-файлы для приложения из текущего рабочего каталога.Zip deploy files from the current working directory to the app.

Переход в приложениеBrowse to the app

Перейдите в развертываемое приложение с помощью веб-браузера.Browse to the deployed application using your web browser.

http://<app_name>.azurewebsites.net

Пример кода Python выполняется в Службе приложений в Linux со встроенным образом.The Python sample code is running in App Service on Linux with a built-in image.

Пример приложения, выполняющегося в Azure

Поздравляем!Congratulations! Вы развернули свое первое приложение Python в службе приложений в Linux.You've deployed your first Python app to App Service on Linux.

Обновление на локальном компьютере и повторное развертывание кодаUpdate locally and redeploy the code

В Cloud Shell введите code application.py, чтобы открыть текстовый редактор Cloud Shell.In the Cloud Shell, type code application.py to open the Cloud Shell editor.

Code application.py

Внесите небольшое изменение в текст вызова метода return:Make a small change to the text in the call to return:

return "Hello Azure!"

Сохраните изменения и выйдите из редактора.Save your changes and exit the editor. Выполните команду ^S, чтобы сохранить файл, и ^Q — чтобы выйти.Use the command ^S to save and ^Q to exit.

Теперь можно повторно развернуть приложение.You'll now redeploy the app. Замените <app_name> именем своего приложения.Substitute <app_name> with your app.

az webapp up -n <app_name>

После завершения развертывания перейдите в окно браузера, открытое на шаге перехода в приложение, и обновите страницу.Once deployment has completed, switch back to the browser window that opened in the Browse to the app step, and refresh the page.

Обновленный пример приложения, выполняющегося в Azure

Управление новым приложением AzureManage your new Azure app

Перейдите на портал Azure, чтобы управлять созданным приложением.Go to the Azure portal to manage the app you created.

В меню слева щелкните Службы приложений, а затем — имя своего приложения Azure.From the left menu, click App Services, and then click the name of your Azure app.

Переход к приложению Azure на портале

Отобразится страница обзора вашего приложения.You see your app's Overview page. Вы можете выполнять базовые задачи управления: обзор, завершение, запуск, перезагрузку и удаление.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

Страница службы приложений на портале Azure

В меню слева доступно несколько страниц для настройки приложения.The left menu provides different pages for configuring your app.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов.In the preceding steps, you created Azure resources in a resource group. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

Ее выполнение может занять до минуты.This command may take a minute to run.

Дополнительная информацияNext steps

Сейчас встроенный образ Python в Службе приложений на платформе Linux доступен в предварительной версии. Вы можете настроить команду для запуска приложения.The built-in Python image in App Service on Linux is currently in Preview, and you can customize the command used to start your app . Также приложения Python для рабочей среды можно создавать с помощью настраиваемого контейнера.You can also create production Python apps using a custom container instead.