Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste guia de início rápido, você implantará um aplicativo Web Python (Django, Flask ou FastAPI) no Serviço de Aplicativo do Azure. O Serviço de Aplicativo do Azure é um serviço de hospedagem na Web totalmente gerenciado que dá suporte a aplicativos Python hospedados em um ambiente de servidor Linux.
Para concluir este início rápido, você precisa de:
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Python 3.14 ou superior instalado localmente.
Observação
Este artigo contém instruções atuais de como implantar um aplicativo Web Python usando o Serviço de Aplicativo do Azure. Não há mais suporte para Python no Windows.
Ir para o final
Você pode implantar rapidamente o aplicativo de exemplo neste tutorial usando a CLI do Desenvolvedor do Azure e vê-lo em execução no Azure. Basta executar os seguintes comandos no Azure Cloud Shelldesejado e seguir o prompt:
mkdir flask-quickstart
cd flask-quickstart
azd init --template https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
azd up
E, para excluir os recursos:
azd down
Aplicativo de exemplo
Este início rápido pode ser concluído usando Flask, Django ou FastAPI. Um aplicativo de exemplo em cada estrutura é fornecido para ajudá-lo a acompanhar este guia de início rápido. Baixe ou clone o aplicativo de exemplo em sua estação de trabalho local.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Para executar o aplicativo localmente:
Acesse a pasta do aplicativo:
cd msdocs-python-flask-webapp-quickstartCrie um ambiente virtual para o aplicativo:
- Windows
- macOS/Linux
py -m venv .venv .venv\scripts\activateInstalar as dependências:
pip install -r requirements.txtExecutar o aplicativo:
flask runNavegue até o aplicativo de exemplo em
http://localhost:5000um navegador da Web.
Está com problemas? Fale conosco.
Criar um aplicativo Web no Azure
Para hospedar seu aplicativo no Azure, você precisa criar um aplicativo Web do Serviço de Aplicativo no Azure. Você pode criar um aplicativo Web usando a CLI do Azure, o VS Code, o pacote de extensão de Ferramentas do Azure ou o portal do Azure.
Comandos da CLI do Azure podem ser executados em um computador com a CLI do Azure instalada.
Crie os recursos do Azure e depois implante sua aplicação usando comandos separados da CLI do Azure.
Se necessário, faça logon no Azure usando az login.
az login
Substitua <app-name> por um nome globalmente único. Crie um grupo de recursos e um plano de App Service, e então crie o aplicativo web usando az webapp create.
az group create --name myResourceGroup --location eastus
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku P0v3 --is-linux
az webapp create --name <app-name> --resource-group myResourceGroup --plan myAppServicePlan --runtime "PYTHON:3.14"
az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
- Use o
--runtimeparâmetro para especificar a versão do Python em que seu app é executado. Este exemplo usa Python 3.14. Para listar runtimes de Python suportados, useaz webapp list-runtimes --os-type linux --runtime python --output table. - Use o parâmetro
--skupara definir o tamanho (CPU e memória) e o custo do plano do App Service. Este exemplo usa o plano de serviço P0v3 (Premium v3), que gera um custo na sua assinatura do Azure. Para obter uma lista completa dos planos do Serviço de Aplicativo, consulte os preços do Serviço de Aplicativo. - Substitua
eastuspela sua região preferida. Para listar as regiões disponíveis, executeaz account list-locationscom--output table. -
SCM_DO_BUILD_DURING_DEPLOYMENTA configuração permite a compilação do Oryx, incluindo a instalação das dependências em requirements.txt, quando você implanta o arquivo de código-fonte.
Crie um arquivo ZIP com os arquivos de aplicação, incluindo requirements.txt, na raiz do arquivo compactado. Exclua arquivos locais como .venv, .git e .env. Para instruções específicas da plataforma, veja Criar um arquivo ZIP da sua aplicação na guia Implantar usando um arquivo ZIP. Depois, implante o arquivo usando az webapp deploy:
az webapp deploy --name <app-name> --resource-group myResourceGroup --src-path <zip-file-path> --type zip
A implantação pode levar alguns minutos. Navegue para https://<app-name>.azurewebsites.net para ver seu aplicativo. Para transmitir logs, ative-os executando az webapp log config --name <app-name> --resource-group myResourceGroup --docker-container-logging filesystem, e então execute az webapp log tail --name <app-name> --resource-group myResourceGroup.
Está com problemas? Fale conosco.
Implantar código de aplicativo no Azure
O Serviço de Aplicativo do Azure dá suporte a vários métodos para implantar o código do aplicativo no Azure, como GitHub Actions e todas as principais ferramentas de CI/CD. Este artigo se concentra em como implantar o código de sua estação de trabalho local no Azure.
Os comandos do CLI do Azure na etapa anterior criaram os recursos e implantaram sua aplicação. Você pode passar para o próximo passo.
Está com problemas? Primeiro confira o guia de solução de problemas. Se isso não ajudar, fale conosco.
Configurar o script de inicialização
Com base na presença de determinados arquivos em uma implantação, o Serviço de Aplicativo detecta automaticamente se um aplicativo é um aplicativo Django ou Flask e executa etapas padrão para executar seu aplicativo. Para aplicativos baseados em outros frameworks web como o FastAPI, talvez seja necessário configurar um script de inicialização para o App Service rodar seu app. Caso contrário, o App Service roda um aplicativo padrão de somente leitura localizado na pasta opt/defaultsite .
- Python 3.14 e versões posteriores: App Service detecta e executa automaticamente aplicativos FastAPI. Não é necessário nenhum comando de inicialização.
- Python 3.13 e anteriores: Você deve configurar um comando de inicialização personalizado.
Para saber mais sobre como o Serviço de Aplicativo executa aplicativos Python e como você pode configurar e personalizar o comportamento com seu aplicativo, consulte Configurar um aplicativo Python Linux para o Serviço de Aplicativo do Azure.
O Serviço de Aplicativo detecta automaticamente a presença de um aplicativo Flask. Nenhuma configuração adicional é necessária para este início rápido.
Navegar até o aplicativo
Navegue até o aplicativo implantado no navegador da Web. Você pode seguir um link do portal do Azure. Vá para a página Visão geral e selecione Domínio Padrão. Se você vir uma página de aplicativo padrão, aguarde um minuto e atualize o navegador.
O código de exemplo Python está executando um contêiner Linux no Serviço de Aplicativo usando uma imagem interna.
Parabéns! Você implantou seu aplicativo Python no Serviço de Aplicativo.
Está com problemas? Primeiro confira o guia de solução de problemas. Se isso não ajudar, fale conosco.
Transmitir logs
O Serviço de Aplicativo do Azure captura todas as mensagens geradas no console para ajudar você a diagnosticar problemas com seu aplicativo. Os aplicativos de exemplo incluem instruções print() para demonstrar essa funcionalidade.
@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)
return render_template('hello.html', name = name)
else:
print('Request for hello page received with no name or blank name -- redirecting')
return redirect(url_for('index'))
Você pode revisar o conteúdo dos logs de diagnóstico do Serviço de Aplicativo usando a CLI do Azure, o VS Code ou o portal do Azure.
Primeiro, você precisa configurar o Serviço de Aplicativo do Azure para gerar logs para o sistema de arquivos do Serviço de Aplicativo usando o comando az webapp log config.
az webapp log config \
--web-server-logging filesystem \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Para transmitir logs, use o comando az webapp log tail.
az webapp log tail \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Atualize a home page no aplicativo ou tente outras solicitações para gerar algumas mensagens de log. A saída deve ser semelhante ao seguinte.
Starting Live Log Stream ---
2021-12-23T02:15:52.740703322Z Request for index page received
2021-12-23T02:15:52.740740222Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET / HTTP/1.1" 200 1360 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.841043070Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.884541951Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:53.043211176Z 169.254.130.1 - - [23/Dec/2021:02:15:53 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.304306845Z Request for hello page received with name=David
2021-12-23T02:16:01.304335945Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "POST /hello HTTP/1.1" 200 695 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.398399251Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.430740060Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
Está com problemas? Primeiro confira o guia de solução de problemas. Se isso não ajudar, fale conosco.
Limpar os recursos
Ao terminar o aplicativo de exemplo, você poderá remover todos os recursos do aplicativo do Azure. A remoção do grupo de recursos garante que você não incorra em encargos extras e ajuda a manter sua assinatura do Azure organizada. Remover o grupo de recursos também remove todos os recursos do grupo de recursos e é a maneira mais rápida de remover todos os recursos do Azure para seu aplicativo.
Exclua o grupo de recursos usando o comando az group delete.
az group delete \
--name msdocs-python-webapp-quickstart \
--no-wait
O argumento --no-wait permite que o comando seja retornado antes que a operação seja concluída.
Está com problemas? Fale conosco.