Partilhar via


Configurar seu ambiente local para implantar aplicativos Web Python no Azure

Este artigo orienta você na configuração de seu ambiente local para desenvolver Python aplicativos Web e implantá-los no Azure. Seu aplicativo da Web pode ser Python puro ou usar uma das estruturas comuns da Web baseadas em Python, como Django, Flaskou FastAPI.

Os aplicativos Web Python desenvolvidos localmente podem ser implantados em serviços como do Serviço de Aplicativo do Azure, de Aplicativos de Contêiner do Azure ou de Aplicativos Web Estáticos do Azure. Há muitas opções para implantação. Por exemplo, para implantação do Serviço de Aplicativo, você pode optar por implantar a partir de código, um contêiner do Docker ou um Aplicativo Web estático. Se você implantar a partir do código, poderá implantar com o Visual Studio Code, com a CLI do Azure, a partir de um repositório Git local ou com ações do GitHub. Se você implantar em um Contêiner do Docker, poderá fazê-lo a partir do Registro de Contêiner do Azure, do Hub do Docker ou de qualquer registro privado.

Antes de continuar com este artigo, sugerimos que você revise o Configurar seu ambiente de desenvolvimento para obter orientação sobre como configurar seu ambiente de desenvolvimento para Python e Azure. Abaixo, discutiremos a instalação e a configuração específicas para o desenvolvimento de aplicativos Web em Python.

Depois de obter a configuração do ambiente local para o desenvolvimento de aplicativos Web Python, você estará pronto para lidar com estes artigos:

Trabalhando com o Visual Studio Code

O Visual Studio Code ambiente de desenvolvimento integrado (IDE) é uma maneira fácil de desenvolver aplicativos Web Python e trabalhar com recursos do Azure que os aplicativos Web usam.

Dica

Certifique-se de ter a extensão Python instalada. Para obter uma visão geral do trabalho com Python no VS Code, consulte Introdução ao Python no VS Code.

No VS Code, você trabalha com recursos do Azure por meio extensões VS Code. Pode instalar extensões a partir da Vista Extensões ou da combinação de teclas Ctrl+Shift+X. Para aplicativos Web Python, você provavelmente trabalhará com uma ou mais das seguintes extensões:

  • A extensão do Serviço de Aplicativo do Azure permite que você interaja com o Serviço de Aplicativo do Azure de dentro do Visual Studio Code. O Serviço de Aplicativo fornece hospedagem totalmente gerenciada para aplicativos da Web, incluindo sites e APIs da Web.

  • A extensão de de Aplicativos Web Estáticos do Azure permite que você crie Aplicativos Web Estáticos do Azure diretamente do VS Code. Static Web Apps é sem servidor e uma boa opção para hospedagem de conteúdo estático.

  • Se você planeja trabalhar com contêineres, instale:

    • O Docker extensão para criar e trabalhar com contêineres localmente. Por exemplo, você pode executar um aplicativo Web Python em contêiner no Serviço de Aplicativo do Azure usando Aplicativos Web para Contêineres.

    • A extensão Azure Container Apps para criar e implantar aplicativos em contêineres diretamente do Visual Studio Code.

  • Há outras extensões, tais como as extensões de Armazenamento do Azure , de Bancos de Dados do Azure , e de Recursos do Azure . Você sempre pode adicionar essas e outras extensões conforme necessário.

As extensões no Visual Studio Code são acessíveis como você esperaria em uma interface IDE típica e com suporte avançado a palavras-chave usando a paleta de comandos VS Code. Para acessar a paleta de comandos, use a combinação de teclas Ctrl+Shift+P. A paleta de comandos é uma boa maneira de ver todas as ações possíveis que você pode executar em um recurso do Azure. A captura de tela abaixo mostra algumas das ações do Serviço de Aplicativo.

Uma captura de tela da paleta de comandos do Visual Studio Code para o Serviço de Aplicativo.

Trabalhando com contêineres de desenvolvimento no Visual Studio Code

Os desenvolvedores Python geralmente dependem de ambientes virtuais para criar um ambiente isolado e autônomo para um projeto específico. Os ambientes virtuais permitem que os desenvolvedores gerenciem dependências, pacotes e versões Python separadamente para cada projeto, evitando conflitos entre diferentes projetos que podem exigir diferentes versões de pacotes.

Embora existam opções populares disponíveis em Python para gerenciar ambientes como virtualenv ou venv, a extensão Visual Studio Code Dev Container (baseada na especificação aberta do Dev Container) permite que você use um contêiner Docker como um ambiente conteinerizado completo. Ele permite que os desenvolvedores definam uma cadeia de ferramentas consistente e facilmente reproduzível com todas as ferramentas, dependências e extensões necessárias pré-configuradas. Isso significa que, se você tiver requisitos de sistema, configurações de shell ou usar outras linguagens inteiramente, poderá usar um Dev Container para configurar explicitamente todas as partes do seu projeto que podem viver fora de um ambiente Python básico.

Por exemplo, um desenvolvedor pode configurar um único contêiner de desenvolvimento para incluir tudo o que é necessário para trabalhar em um projeto, incluindo um servidor de banco de dados PostgreSQL junto com o banco de dados do projeto e dados de exemplo, um servidor Redis, Nginx, código front-end, bibliotecas de cliente como o React e assim por diante. Além disso, o contêiner conteria o código do projeto, o tempo de execução do Python e todas as dependências do projeto Python com as versões corretas. Finalmente, o contêiner pode especificar extensões de código do Visual Studio a serem instaladas para que toda a equipe tenha as mesmas ferramentas disponíveis. Assim, quando um novo desenvolvedor se junta à equipe, todo o ambiente, incluindo ferramentas, dependências e dados, está pronto para ser clonado para sua máquina local e eles podem começar a trabalhar imediatamente.

Consulte Desenvolvendo dentro de um contêiner.

Trabalhando com o Visual Studio 2022

Visual Studio 2022 é um ambiente de desenvolvimento integrado (IDE) completo com suporte para desenvolvimento de aplicativos Python e muitas ferramentas e extensões internas para acessar e implantar em recursos do Azure. Enquanto a maioria da documentação para criar aplicativos Web Python no Azure se concentra no uso do Visual Studio Code, o Visual Studio 2022 é uma ótima opção se você já o tiver instalado, estiver confortável em usá-lo e usá-lo para projetos .NET ou C++.

  • Em geral, consulte Visual Studio | A documentação do Python para toda a documentação relacionada ao uso do Python no Visual Studio 2022.

  • Para obter as etapas de configuração, consulte Instalar suporte Python no Visual Studio que o orienta pelas etapas de instalação da carga de trabalho Python no Visual Studio 2022.

  • Para obter o fluxo de trabalho geral do uso do Python para desenvolvimento da Web, consulte Guia de início rápido : criar seu primeiro aplicativo Web Python usando o Visual Studio. Este artigo é útil para entender como criar um aplicativo Web Python do zero (mas não inclui a implantação no Azure).

  • Para usar o Visual Studio 2022 para gerenciar recursos do Azure e implantar no Azure, consulte Desenvolvimento do Azure com Visual Studio. Embora grande parte da documentação aqui mencione especificamente o .NET, as ferramentas para gerenciar recursos do Azure e implantar no Azure funcionam da mesma forma, independentemente da linguagem de programação.

  • Quando não há nenhuma ferramenta interna disponível no Visual Studio 2022 para uma determinada tarefa de gerenciamento ou implantação do Azure, você sempre pode usar comandos da CLI do Azure.

Trabalhando com outros IDEs

Se você estiver trabalhando em outro IDE que não tenha suporte explícito para o Azure, poderá usar a CLI do Azure para gerenciar recursos do Azure. Na captura de tela abaixo, um simples aplicativo web Flask está aberto no PyCharm IDE. O aplicativo Web pode ser implantado em um Serviço de Aplicativo do Azure usando o comando az webapp up. Na captura de tela, o comando CLI é executado dentro do emulador de terminal incorporado PyCharm. Se o IDE não tiver um emulador incorporado, você poderá usar qualquer terminal e o mesmo comando. A CLI do Azure deve ser instalada no seu computador e estar acessível em ambos os casos.

Uma captura de tela do IDE PyCharm com um comando da CLI do Azure implantando um aplicativo Web.

Comandos da CLI do Azure

Ao trabalhar localmente com aplicativos Web usando os comandos da CLI do Azure, você normalmente trabalhará com os seguintes comandos:

Comando Descrição
AZ WebApp Gerencia aplicativos Web. Inclui os subcomandos criar e atualizar para criar uma aplicação web ou para criar e implantar a partir de um espaço de trabalho local, respectivamente.
do aplicativo de contêiner AZ Gerencia os Aplicativos de Contêiner do Azure.
az staticwebapp Gerencia os Aplicativos Web Estáticos do Azure.
Grupo AZ Gerencia grupos de recursos e implantações de modelos. Use o subcomando criar para criar um grupo de recursos para colocar seus recursos do Azure.
az appservice Gerencia planos do Serviço de Aplicativo.
az config Gerencia a configuração da CLI do Azure. Para salvar pressionamentos de teclas, você pode definir um local padrão ou grupo de recursos que outros comandos usam automaticamente.

Aqui está um exemplo de comando da CLI do Azure para criar um aplicativo Web e recursos associados e implantá-lo no Azure em um comando usando az webapp até. Execute o comando no diretório raiz do seu aplicativo Web.

  • bash
  • de terminal do PowerShell
az webapp up \
    --runtime PYTHON:3.9 \
    --sku B1 \
    --logs

Para obter mais informações sobre este exemplo, consulte Guia de início rápido: implantar um aplicativo Web Python (Django ou Flask) no Serviço de Aplicativo do Azure.

Lembra-te de que, para parte do teu fluxo de trabalho do Azure, também podes usar a CLI do Azure a partir de um doAzure Cloud Shell. O Azure Cloud Shell é um shell interativo, autenticado e acessível por navegador para gerenciar recursos do Azure.

Pacotes de chaves do SDK do Azure

Em seus aplicativos Web Python, você pode consultar programaticamente os serviços do Azure usando o SDK do Azure para Python. Esse SDK é discutido extensivamente na seção Usar as bibliotecas do Azure (SDK) para Python. Nesta seção, mencionaremos brevemente alguns pacotes importantes do SDK que você usará no desenvolvimento da Web. Além disso, mostraremos um exemplo sobre as práticas recomendadas para autenticar seu código com recursos do Azure.

Abaixo estão alguns dos pacotes comumente usados no desenvolvimento de aplicativos Web. Você pode instalar pacotes em seu ambiente virtual diretamente com pip. Ou coloque o nome do índice de pacotes Python (Pypi) em seu arquivo requirements.txt.

Documentos do SDK Instalar Índice de pacotes Python
Azure Identity pip install azure-identity azure-identity
Blobs de Armazenamento do Azure pip install azure-storage-blob azure-storage-blob
Azure Cosmos DB pip install azure-cosmos azure-cosmos
Segredos do Cofre da Chave do Azure pip install azure-keyvault-secrets azure-keyvault-secrets

O pacote azure-identity permite que seu aplicativo Web se autentique com o Microsoft Entra ID. Para autenticação no código do aplicativo Web, é recomendável usar o DefaultAzureCredential no pacote azure-identity. Aqui está um exemplo de como acessar o Armazenamento do Azure. O padrão é semelhante para outros recursos do Azure.

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

azure_credential = DefaultAzureCredential()
blob_service_client = BlobServiceClient(
    account_url=account_url,
    credential=azure_credential)

O DefaultAzureCredential procurará informações de conta em locais predefinidos, por exemplo, em variáveis de ambiente ou na entrada da CLI do Azure. Para obter informações detalhadas sobre a lógica DefaultAzureCredential, consulte Autenticar aplicativos Python para serviços do Azure usando o SDK do Azure para Python.

Frameworks web baseados em Python

No desenvolvimento de aplicativos Web Python, você geralmente trabalha com estruturas web baseadas em Python. Essas estruturas fornecem funcionalidades, como modelos de página, gerenciamento de sessão, acesso ao banco de dados e fácil acesso a objetos de solicitação e resposta HTTP. As frameworks permitem que evites a necessidade de reinventar a roda para funcionalidades comuns.

Três frameworks web Python comuns são Django, Flaskou FastAPI. Essas e outras estruturas da Web podem ser usadas com o Azure.

Abaixo está um exemplo de como você pode começar rapidamente com essas estruturas localmente. Executando esses comandos, você acabará com um aplicativo, embora simples, que possa ser implantado no Azure. Execute esses comandos dentro de um ambiente virtual .

Passo 1: Descarregue os frameworks com pip.

pip install Django

Etapa 2: Criar um aplicativo hello world.

Crie um projeto de exemplo usando o comando django-admin startproject. O projeto inclui um arquivo manage.py que é o ponto de entrada para executar o aplicativo.

django-admin startproject hello_world

Passo 3: Execute o código localmente.

Django usa WSGI para executar o aplicativo.

python hello_world\manage.py runserver

Passo 4: Navegue pela aplicação hello world.

http://127.0.0.1:8000/

Neste ponto, adicione um arquivo de requirements.txt e, em seguida, você pode implantar o aplicativo Web no Azure ou conteinerizá-lo com o Docker e, em seguida, implantá-lo.

Próximos passos