Quickstart: Criar uma aplicação Python no Azure App Service em LinuxQuickstart: Create a Python app in Azure App Service on Linux

Neste quickstart, você implementa uma aplicação web Python para o App Service no Linux,o serviço de hospedagem web altamente escalável e auto-remendado da Azure.In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. Utilize a interface de linha de comando Azure local (CLI) num computador Mac, Linux ou Windows.You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer. A aplicação web que configura utiliza um nível de Serviço de Aplicações gratuito, para que não incorre em custos no decurso deste artigo.The web app you configure uses a free App Service tier, so you incur no costs in the course of this article.

Se preferir implementar aplicações através de um IDE, consulte aplicações implementar python para o Serviço de Aplicações a partir do Código do Estúdio Visual.If you prefer to deploy apps through an IDE, see Deploy Python apps to App Service from Visual Studio Code.

Pré-requisitosPrerequisites

Transferir o exemploDownload the sample

Numa janela terminal, executar o seguinte comando para clonar a aplicação da amostra para o seu computador local.In a terminal window, run the following command to clone the sample application to your local computer.

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

Em seguida, entrar na pasta:Then go into that folder:

cd python-docs-hello-world

O repositório contém um ficheiro application.py, que diz ao Serviço de Aplicações que o código contém uma aplicação Flask.The repository contains an application.py file, which tells App Service that the code contains a Flask app. Para obter mais informações, consulte o processo de arranque do Contentor e as personalizações.For more information, see Container startup process and customizations.

Executar o exemploRun the sample

Numa janela terminal, utilize os comandos abaixo (conforme apropriado para o seu sistema operativo) para instalar as dependências necessárias e lançar o servidor de desenvolvimento incorporado.In a terminal window, use the commands below (as appropriate for your operating system) to install the required dependencies and launch the built-in development server.

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

Abra um navegador web e vá para a aplicação de amostras em http://localhost:5000/ .Open a web browser, and go to the sample app at http://localhost:5000/. A aplicação exibe a mensagem Hello World!The app displays the message Hello World!.

Executar uma amostra python app localmente

Na janela do terminal, pressione o Ctrl + C para sair do servidor web.In your terminal window, press Ctrl+C to exit the web server.

Iniciar sessão no AzureSign in to Azure

O Azure CLI fornece-lhe muitos comandos convenientes que utiliza de um terminal local para fornecer e gerir os recursos do Azure a partir da linha de comando.The Azure CLI provides you with many convenient commands that you use from a local terminal to provision and manage Azure resources from the command line. Pode utilizar comandos para completar as mesmas tarefas que faria através do portal Azure num browser.You can use commands to complete the same tasks that you would through the Azure portal in a browser. Também pode utilizar comandos CLI em scripts para automatizar processos de gestão.You can also use CLI commands in scripts to automate management processes.

Para executar os comandos Azure no CLI Azure, tem primeiro de iniciar súmia usando o az login comando.To run Azure commands in the Azure CLI, you must first sign in using the az login command. Este comando abre um browser para recolher as suas credenciais.This command opens a browser to gather your credentials.

az login

Implementar a amostraDeploy the sample

O az webapp up comando cria a aplicação web no Serviço de Aplicações e implementa o seu código.The az webapp up command creates the web app on App Service and deploys your code.

Na pasta python-docs-hello-world que contém o código de amostra, execute o seguinte az webapp up comando.In the python-docs-hello-world folder that contains the sample code, run the following az webapp up command. Substitua <app-name> por um nome de aplicativo globalmente único *(caracteres válidos são a-z , 0-9 e - *).Replace <app-name> with a globally unique app name (valid characters are a-z, 0-9, and -).

az webapp up --sku F1 -n <app-name>

O --sku F1 argumento cria a aplicação web no nível de preços gratuitos.The --sku F1 argument creates the web app on the Free pricing tier. Em vez disso, pode omitir este argumento para utilizar um nível premium, que incorre num custo de hora a hora.You can omit this argument to use a premium tier instead, which incurs an hourly cost.

Pode opcionalmente incluir o argumento -l <location-name> onde <location_name> está uma região do Azure como central, eastasia, westeurope, koreasouth, brazilsouth, centralindia, e assim por diante.You can optionally include the argument -l <location-name> where <location_name> is an Azure region such as centralus, eastasia, westeurope, koreasouth, brazilsouth, centralindia, and so on. Pode recuperar uma lista de regiões admissíveis para a sua conta Azure, executando o az account list-locations comando.You can retrieve a list of allowable regions for your Azure account by running the az account list-locations command.

O az webapp up comando pode demorar alguns minutos a correr completamente.The az webapp up command may take a few minutes to completely run. Durante a execução, apresenta informações semelhantes ao seguinte exemplo, onde <app-name> será o nome que forneceu anteriormente:While running, it displays information similar to the following example, where <app-name> will be the name you provided earlier:

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>' ....
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir D:\Examples\python-docs-hello-world ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
  "URL": "http://<app-name>.net",
  "appserviceplan": "appsvc_asp_Linux_centralus",
  "location": "eastus",
  "name": "<app-name>",
  "os": "Linux",
  "resourcegroup": "appsvc_rg_Linux_centralus",
  "runtime_version": "python|3.7",
  "runtime_version_detected": "-",
  "sku": "FREE",
  "src_path": "D:\\Examples\\python-docs-hello-world"
}

Nota

O comando az webapp up executa as seguintes ações:The az webapp up command does the following actions:

Navegar para a aplicaçãoBrowse to the app

Navegue pela aplicação implementada no seu navegador web no URL http://<app-name>.azurewebsites.net .Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net.

O código de amostra Python está a executar um contentor Linux no Serviço de Aplicações usando uma imagem incorporada.The Python sample code is running a Linux container in App Service using a built-in image.

Executar uma amostra python app em Azure

Parabéns!Congratulations! Implementou a sua aplicação Python para o Serviço de Aplicações em Linux.You've deployed your Python app to App Service on Linux.

Atualizações de recolocaçãoRedeploy updates

No seu editor de código favorito, abra application.py e atualize a hello função da seguinte forma.In your favorite code editor, open application.py and update the hello function as follows. Esta alteração adiciona uma print declaração para gerar a saída de registo com a que trabalha na secção seguinte.This change adds a print statement to generate logging output that you work with in the next section.

def hello():
    print("Handling request to home page.")
    return "Hello Azure!"

Guarde as suas alterações e saia do editor.Save your changes and exit the editor.

Recolocar a aplicação utilizando o az webapp up comando novamente:Redeploy the app using the az webapp up command again:

az webapp up

Este comando utiliza valores que estão em cache no ficheiro .azure/config, incluindo o nome da aplicação, grupo de recursos e plano de Serviço de Aplicações.This command uses values that are cached in the .azure/config file, including the app name, resource group, and App Service plan.

Uma vez concluída a implementação, volte para a janela do navegador aberta http://<app-name>.azurewebsites.net e refresque a página, que deve exibir a mensagem modificada:Once deployment has completed, switch back to the browser window open to http://<app-name>.azurewebsites.net and refresh the page, which should display the modified message:

Executar uma aplicação python de amostra atualizada em Azure

Dica

O Visual Studio Code fornece extensões poderosas para o Serviço de Aplicações Python e Azure, que simplificam o processo de implementação de aplicações web Python para o App Service.Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. Para obter mais informações, consulte aplicações implementar python para o Serviço de Aplicações a partir do Código do Estúdio Visual.For more information, see Deploy Python apps to App Service from Visual Studio Code.

Transmitir registosStream logs

Pode aceder aos registos de consola gerados a partir do interior da app e do contentor em que funciona.You can access the console logs generated from inside the app and the container in which it runs. Os registos incluem qualquer saída gerada através de print declarações.Logs include any output generated using print statements.

Para transmitir registos, executar o seguinte comando:To stream logs, run the following command:

az webapp log tail

Atualize a aplicação no navegador para gerar registos de consolas, que devem incluir linhas semelhantes ao texto seguinte.Refresh the app in the browser to generate console logs, which should include lines similar to the following text. Se não vir a saída imediatamente, tente novamente em 30 segundos.If you don't see output immediately, try again in 30 seconds.

2020-04-03T22:54:04.236405938Z Handling request to home page.
2020-04-03T22:54:04.236497641Z 172.16.0.1 - - [03/Apr/2020:22:54:04 +0000] "GET / HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.83 Safari/537.36 Edg/81.0.416.41"

Também pode inspecionar os ficheiros de registo do navegador em https://<app-name>.scm.azurewebsites.net/api/logs/docker .You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Para parar o streaming de registo a qualquer momento, escreva Ctrl + C .To stop log streaming at any time, type Ctrl+C.

Gerir a app AzureManage the Azure app

Vá ao portal Azure para gerir a app que criou.Go to the Azure portal to manage the app you created. Procure e selecione Serviços de Aplicações.Search for and select App Services.

Navegue para Serviços de Aplicações no portal Azure

Selecione o nome da sua aplicação Azure.Select the name of your Azure app.

Navegue para a sua aplicação Python em Serviços de Aplicações no portal Azure

Veja a página geral da sua aplicação.You see your app's Overview page. Aqui, pode realizar tarefas de gestão básicas, como navegar, parar, iniciar, reiniciar e eliminar.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

Gerencie a sua aplicação Python na página Overview no portal Azure

O menu Serviço de Aplicações fornece diferentes páginas para configurar a sua aplicação.The App Service menu provides different pages for configuring your app.

Limpar recursosClean up resources

Nos passos anteriores, criou os recursos do Azure num grupo de recursos.In the preceding steps, you created Azure resources in a resource group. O grupo de recursos tem um nome como "appsvc_rg_Linux_CentralUS" dependendo da sua localização.The resource group has a name like "appsvc_rg_Linux_CentralUS" depending on your location. Se utilizar um SKU de Serviço de Aplicações que não seja o nível F1 gratuito, estes recursos incorrem em custos contínuos (ver preços do Serviço de Aplicações).If you use an App Service SKU other than the free F1 tier, these resources incur ongoing costs (see App Service pricing).

Se não espera precisar destes recursos no futuro, elimine o grupo de recursos executando o seguinte comando, substituindo <resource-group-name> pelo grupo de recursos mostrado na saída do az webapp up comando, como "appsvc_rg_Linux_centralus".If you don't expect to need these resources in the future, delete the resource group by running the following command, replacing <resource-group-name> with the resource group shown in the output of the az webapp up command, such as "appsvc_rg_Linux_centralus". O comando pode demorar um minuto a ser concluído.The command may take a minute to complete.

az group delete -n <resource-group-name>

Passos seguintesNext steps