Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste tutorial, implanta uma aplicação web em Python orientada a dados (FastAPI) no Serviço de Aplicativo do Azure com o serviço relacional do Banco de Dados do Azure para PostgreSQL. O Serviço de Aplicativo do Azure dá suporte ao Python em um ambiente de servidor Linux. Se você quiser, veja o tutorial do Flask ou o tutorial do Django.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma conta do Azure, pode criar uma gratuitamente.
- Conhecimento em Python para desenvolvimento com FastAPI.
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma conta do Azure, pode criar uma gratuitamente.
- CLI de Desenvolvimento do Azure instalada. Você pode seguir as etapas com o Azure Cloud Shell porque ele já tem a CLI do Desenvolvedor do Azure instalada.
- Conhecimento em Python com desenvolvimento com FastAPI.
Saltar para o fim
Se tiver o Azure Developer CLI instalado, pode saltar para o final do tutorial executando os seguintes comandos num diretório de trabalho vazio:
azd auth login
azd init --template msdocs-fastapi-postgresql-sample-app
azd up
Aplicação de exemplo
Um aplicativo Python de exemplo usando a estrutura FastAPI é fornecido para ajudá-lo a acompanhar este tutorial. Para implantá-lo sem executá-lo localmente, ignore esta parte.
Para executar o aplicativo localmente, certifique-se de ter Python 3.8 ou superior e PostgreSQL instalado localmente. Em seguida, clone a ramificação do starter-no-infra repositório de exemplo e aceda à raiz do repositório.
git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app
cd msdocs-fastapi-postgresql-sample-app
Crie um ficheiro .env com o seguinte conteúdo usando o ficheiro .env.sample como guia. Configure o valor de DBNAME para o nome de um banco de dados existente na sua instância local do PostgreSQL. Defina os valores de DBHOST, DBUSER e DBPASS conforme apropriado para a sua instância local do PostgreSQL.
DBNAME=<database name>
DBHOST=<database-hostname>
DBUSER=<db-user-name>
DBPASS=<db-password>
Crie um ambiente virtual para o aplicativo:
py -m venv .venv
.venv\scripts\activate
Instale as dependências:
python3 -m pip install -r src/requirements.txt
Instale o aplicativo como um pacote editável:
python3 -m pip install -e src
Execute o aplicativo de exemplo com os seguintes comandos:
# Run database migration
python3 src/fastapi_app/seed_data.py
# Run the app at http://127.0.0.1:8000
python3 -m uvicorn fastapi_app:app --reload --port=8000
1. Criar recursos de App Service e PostgreSQL
Nesta etapa, você cria os recursos do Azure. As etapas usadas neste tutorial criam um conjunto de recursos seguros por padrão que incluem o Serviço de Aplicativo e o Banco de Dados do Azure para PostgreSQL. Para o processo de criação, você especifica:
- O nome da aplicação web. É o nome usado como parte do nome DNS da sua aplicação web.
- A região onde a aplicação corre fisicamente no mundo.
- A pilha de tempo de execução para o aplicativo. É onde você seleciona a versão do Python a ser usada para seu aplicativo.
- O plano de hospedagem para o aplicativo. É a camada de preço que inclui o conjunto de recursos e a capacidade de dimensionamento para seu aplicativo.
- O Grupo de Recursos para o aplicativo. Um grupo de recursos permite agrupar (em um contêiner lógico) todos os recursos do Azure necessários para o aplicativo.
Entre no portal do Azure e siga estas etapas para criar seus recursos do Serviço de Aplicativo do Azure.
Etapa 1: No portal do Azure:
- Introduza a base de dados da aplicação web na barra de pesquisa no topo do portal Azure.
- Selecione o item rotulado Web App + Database na seção Marketplace. Você também pode navegar diretamente para o assistente de configuração.
Etapa 2: Na página Criar Aplicativo Web + Banco de Dados , preencha o formulário da seguinte maneira.
- Grupo de Recursos → Selecionar Criar novo e entrar em msdocs-python-postgres-tutorial.
- Região → qualquer região do Azure perto de si.
- Nome → msdocs-python-postgres-XYZ onde XYZ é qualquer três caracteres aleatórios. Este nome tem de ser exclusivo em todo o Azure.
- Stack de runtime → Python 3.14.
- O motor de base de dados → PostgreSQL - Flexible Server é selecionado por padrão como motor de base de dados. O nome do servidor e o nome do banco de dados também são definidos por padrão como valores apropriados.
- Plano de hospedagem → Basic. Quando estiver pronto, você poderá escalar para um nível de preço de produção mais tarde.
- Selecione Rever + criar.
- Após a conclusão da validação, selecione Criar.
Etapa 3: A implantação leva alguns minutos para ser concluída. Quando a implantação for concluída, selecione o botão Ir para o recurso . É levado diretamente à aplicação de Serviços de Aplicações e são criados os seguintes recursos:
- Grupo de recursos → O contêiner para todos os recursos criados.
- Plano do Serviço de Aplicativo → Define os recursos de computação para o Serviço de Aplicativo. Um plano Linux na camada Basic é criado.
- Rede virtual → integrada à aplicação App Service e isola o tráfego da rede back-end.
- Servidor flexível da Base de Dados do Azure para PostgreSQL → Acessível apenas de dentro da rede virtual. Um banco de dados e um usuário são criados para você no servidor.
- Zona DNS privada → Permite a resolução DNS do servidor PostgreSQL na rede virtual.
Etapa 4: Para aplicativos FastAPI, você deve inserir um comando de inicialização para que o Serviço de aplicativo possa iniciar seu aplicativo. Na página Serviço de Aplicativo:
- No menu lateral, em Definições, selecione Configuração. Pode ser necessário selecionar Deixar Pré-visualização para ver o campo seguinte.
-
Na guia Configurações gerais da página Configuração, insira
src/entrypoint.shno campo Comando de inicialização em Configurações de pilha. - Selecione Guardar. Quando solicitado, selecione Continuar. Para saber mais sobre a configuração e inicialização do aplicativo no Serviço de Aplicativo, consulte Configurar um aplicativo Linux Python para o Serviço de Aplicativo do Azure.
2. Verifique as configurações de conexão
O assistente de criação gerou as variáveis de conectividade para você já como configurações do aplicativo. As configurações do aplicativo são uma maneira de manter os segredos de conexão fora do seu repositório de código. Quando estiver pronto para mover os seus segredos para um local mais seguro, consulte Quickstart: Azure Key Vault biblioteca cliente de certificados para Python.
Passo 1: Na página do Serviço de Aplicações, no menu lateral, selecione variáveis de Ambiente.
Etapa 2: na guia Configurações do aplicativo da página de Variáveis de ambiente, verifique se AZURE_POSTGRESQL_CONNECTIONSTRING está presente. A cadeia de ligação é injetada no ambiente de execução como uma variável de ambiente.
3. Implantar código de exemplo
Nesta etapa, você configura a implantação do GitHub usando as Ações do GitHub. É apenas uma das muitas maneiras de implementar no App Service, sendo também uma ótima forma de ter integração contínua no seu processo de implementação. Por padrão, cada git push no seu repositório do GitHub inicia a ação de compilação e implantação.
Passo 1: Em uma nova janela do navegador:
- Iniciar sessão na sua conta do GitHub.
- Navegue para https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app.
- Selecione Fork.
- Selecione Criar ramificação.
Etapa 2: Na página do GitHub, abra o Visual Studio Code no navegador pressionando a . tecla .
Etapa 3: No Visual Studio Code no navegador, abra src/fastapi/models.py no explorador. Veja as variáveis de ambiente que estão sendo usadas no ambiente de produção, incluindo as configurações do aplicativo que você viu na página de configuração.
Etapa 4: De volta à página Serviço de Aplicativo, no menu à esquerda, em Implantação, selecione Centro de Implantação.
Etapa 5: Na página Centro de Implantação:
- Em Source, selecione GitHub. Por padrão, as Ações do GitHub são selecionadas como o provedor de compilação.
- Entre na sua conta do GitHub e siga o prompt para autorizar o Azure.
- Em Organização, selecione sua conta.
- No Repositório, selecione msdocs-fastapi-postgresql-sample-app.
- Em Ramo, selecione principal.
- Mantenha a opção padrão selecionada para Adicionar um fluxo de trabalho.
- Em Tipo de autenticação, selecione Identidade atribuída pelo usuário.
- No menu superior, selecione Salvar. O Serviço de Aplicativo confirma um arquivo de fluxo de trabalho no repositório GitHub escolhido, no
.github/workflowsdiretório.
Etapa 6: Na página Centro de Implantação:
- Selecione Registos. Uma implantação já foi iniciada.
- No item de log para a execução da implantação, selecione Criar/Implantar Logs.
Etapa 7: Você é levado ao repositório do GitHub e vê que a ação do GitHub está em execução. O ficheiro de workflow define duas fases separadas: construir e implementar. Aguarde até que a execução do GitHub mostre um status de Concluído. Demora cerca de 5 minutos.
Tem problemas? Consulte o Guia de resolução de problemas.
4. Gerar esquema de banco de dados
Numa secção anterior, adicionaste src/entrypoint.sh como comando de arranque para a tua aplicação.
entrypoint.sh contém a seguinte linha: python3 src/fastapi_app/seed_data.py. Este comando migra seu banco de dados. No aplicativo de exemplo, ele garante apenas que as tabelas corretas sejam criadas em seu banco de dados. Ele não preenche essas tabelas com nenhum dado.
Nesta secção, executa este comando manualmente para fins de demonstração. Com o banco de dados PostgreSQL protegido pela rede virtual, a maneira mais fácil de executar o comando é em uma sessão SSH com o contêiner do Serviço de Aplicativo.
Passo 1: De volta à página do Serviço de Aplicações, em Ferramentas de Desenvolvimento no menu lateral:
- Selecionar SSH
- Selecionar Ir
Passo 2: No terminal de SSH, execute python3 src/fastapi_app/seed_data.py. Se for bem-sucedido, o Serviço de Aplicativo está se conectando com êxito ao banco de dados.
Somente as alterações nos /home arquivos podem persistir além das reinicializações do aplicativo. As mudanças fora do /home não são persistentes.
5. Navegue até o aplicativo
Etapa 1: Na página Serviço de Aplicativo:
- No menu à esquerda, selecione Visão geral.
- Selecione o URL do seu aplicativo.
Passo 2: Adicione alguns restaurantes à lista. Parabéns, você está executando um aplicativo Web no Serviço de Aplicativo do Azure, com conectividade segura ao Banco de Dados do Azure para PostgreSQL.
6. Transmitir logs de diagnóstico
O aplicativo de exemplo usa o módulo de log Python Standard Library para ajudá-lo a diagnosticar problemas com seu aplicativo. O aplicativo de exemplo inclui chamadas para o registrador, conforme mostrado no código a seguir.
@app.get("/", response_class=HTMLResponse)
async def index(request: Request, session: Session = Depends(get_db_session)):
logger.info("root called")
statement = (
select(Restaurant, func.avg(Review.rating).label("avg_rating"), func.count(Review.id).label("review_count"))
.outerjoin(Review, Review.restaurant == Restaurant.id)
.group_by(Restaurant.id)
)
Etapa 1: Na página Serviço de Aplicativo:
- No menu lateral, em Monitorização, selecione registos do Serviço de Aplicações.
- Em Registo de aplicações, selecione Sistema de ficheiros.
- No menu superior, selecione Salvar.
Passo 2: No menu lateral, selecione Log stream. Você vê os logs do seu aplicativo, incluindo logs da plataforma e logs de dentro do contêiner.
Os eventos podem levar vários minutos para aparecer nos logs de diagnóstico. Para saber mais sobre como iniciar sessão em aplicações Python, consulte Configurar Azure Monitor para a sua aplicação Python.
7. Limpar os recursos
Quando terminar, pode eliminar todos os recursos da sua subscrição do Azure eliminando o grupo de recursos.
Etapa 1: Na barra de pesquisa na parte superior do portal do Azure:
- Insira o nome do grupo de recursos.
- Selecione o grupo de recursos.
Etapa 2: na página do grupo de recursos, selecione Excluir grupo de recursos.
Passo 3:
- Introduza o nome do grupo de recursos para confirmar a sua eliminação.
- Selecione Eliminar.
1. Crie recursos do Azure e implante um aplicativo de exemplo
Nesta etapa, você cria os recursos do Azure e implanta um aplicativo de exemplo no Serviço de Aplicativo no Linux. As etapas usadas neste tutorial criam um conjunto de recursos seguros por padrão que incluem o Serviço de Aplicativo e o Banco de Dados do Azure para PostgreSQL.
Se ainda não o fez, clone a ramificação do repositório de
starter-no-infraexemplo em um terminal local.git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app cd msdocs-fastapi-postgresql-sample-appEste ramo clonado é o seu ponto de partida. Contém uma aplicação FastAPI simples orientada a dados.
A partir da raiz do repositório, execute
azd init.azd init --template msdocs-fastapi-postgresql-sample-appQuando solicitado, dê as seguintes respostas:
Pergunta Resposta O diretório atual não está vazio. Gostaria de inicializar um projeto aqui no '<seu-diretório>'? Y O que você gostaria de fazer com esses arquivos? Manter os meus ficheiros existentes inalterados Insira um novo nome de ambiente Escreva um nome exclusivo. O modelo azd usa esse nome como parte do nome DNS do seu aplicativo Web no Azure ( <app-name>.azurewebsites.net). São permitidos caracteres alfanuméricos e hífenes.Execute o
azd upcomando para provisionar os recursos necessários do Azure e implantar o código do aplicativo. Se ainda não estiver iniciado sessão no Azure, o navegador abre e pede-lhe para iniciar sessão. Oazd upcomando também te pede para selecionar a subscrição e o local desejados para implementar.azd upO
azd upcomando pode levar vários minutos para ser concluído. Ele também compila e implanta o código do aplicativo. Enquanto está em execução, o comando fornece mensagens sobre o processo de provisionamento e implantação, incluindo um link para a implantação no Azure. Quando terminar, o comando também exibirá um link para a aplicação de implementação.Este modelo azd contém arquivos (azure.yaml e o diretório infra ) que geram uma arquitetura segura por padrão com os seguintes recursos do Azure:
- Grupo de recursos → O contêiner para todos os recursos criados.
- Plano do Serviço de Aplicativo → Define os recursos de computação para o Serviço de Aplicativo. Um plano Linux na camada B1 é especificado.
- Rede virtual → integrada à aplicação App Service e isola o tráfego da rede back-end.
- Servidor flexível da Base de Dados do Azure para PostgreSQL → Acessível apenas de dentro da rede virtual. Um banco de dados e um usuário são criados para você no servidor.
- Zona DNS privada → Permite a resolução DNS do servidor PostgreSQL na rede virtual.
- Espaço de trabalho do Log Analytics → Atua como o contêiner de destino para seu aplicativo enviar seus logs, onde você também pode consultar os logs.
Quando o
azd upcomando terminar, anote os valores do ID de Subscrição, do Serviço de Aplicação e do Grupo de Recursos na saída. Você os usa nas seções a seguir. A sua saída deve ser semelhante à seguinte saída (parcial):Subscription: Your subscription name (1111111-1111-1111-1111-111111111111) Location: East US You can view detailed progress in the Azure Portal: https://portal.azure.com/#view/HubsExtension/DeploymentDetailsBlade/~/overview/id/%2Fsubscriptions%2F1111111-1111-1111-1111-111111111111%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2Fyourenv-1721867673 (✓) Done: Resource group: yourenv-rg (✓) Done: Virtual Network: yourenv-e2najjk4vewf2-vnet (✓) Done: App Service plan: yourenv-e2najjk4vewf2-service-plan (✓) Done: Log Analytics workspace: yourenv-e2najjk4vewf2-workspace (✓) Done: Application Insights: yourenv-e2najjk4vewf2-appinsights (✓) Done: Portal dashboard: yourenv-e2najjk4vewf2-dashboard (✓) Done: App Service: yourenv-e2najjk4vewf2-app-service (✓) Done: Azure Database for PostgreSQL flexible server: yourenv-e2najjk4vewf2-postgres-server (✓) Done: Cache for Redis: yourenv-e2najjk4vewf2-redisCache (✓) Done: Private Endpoint: cache-privateEndpoint SUCCESS: Your application was provisioned in Azure in 32 minutes. You can view the resources created under the resource group yourenv-rg in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/1111111-1111-1111-1111-111111111111/resourceGroups/yourenv-rg/overview Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: https://yourenv-e2najjk4vewf2-app-service.azurewebsites.net/
2. Examine a cadeia de conexão do banco de dados
O modelo azd gera as variáveis de conectividade para você como configurações do aplicativo. As configurações do aplicativo são uma maneira de manter os segredos de conexão fora do seu repositório de código.
No ficheiro
infra/resources.bicep, localize a definição da aplicação e localize a definição paraAZURE_POSTGRESQL_CONNECTIONSTRING.resource appSettings 'config' = { name: 'appsettings' properties: { SCM_DO_BUILD_DURING_DEPLOYMENT: 'true' AZURE_POSTGRESQL_CONNECTIONSTRING: 'dbname=${pythonAppDatabase.name} host=${postgresServer.name}.postgres.database.azure.com port=5432 sslmode=require user=${postgresServer.properties.administratorLogin} password=${databasePassword}' SECRET_KEY: secretKey AZURE_REDIS_CONNECTIONSTRING: 'rediss://:${redisCache.listKeys().primaryKey}@${redisCache.name}.redis.cache.windows.net:6380/0' } }AZURE_POSTGRESQL_CONNECTIONSTRINGcontém a cadeia de conexão com o banco de dados Postgres no Azure. Você precisa usá-lo em seu código para se conectar a ele. Você pode encontrar o código que usa essa variável de ambiente em src/fastapi/models.py:sql_url = "" if os.getenv("WEBSITE_HOSTNAME"): logger.info("Connecting to Azure PostgreSQL Flexible server based on AZURE_POSTGRESQL_CONNECTIONSTRING...") env_connection_string = os.getenv("AZURE_POSTGRESQL_CONNECTIONSTRING") if env_connection_string is None: logger.info("Missing environment variable AZURE_POSTGRESQL_CONNECTIONSTRING") else: # Parse the connection string details = dict(item.split('=') for item in env_connection_string.split()) # Properly format the URL for SQLAlchemy sql_url = ( f"postgresql://{quote_plus(details['user'])}:{quote_plus(details['password'])}" f"@{details['host']}:{details['port']}/{details['dbname']}?sslmode={details['sslmode']}" ) else: logger.info("Connecting to local PostgreSQL server based on .env file...") load_dotenv() POSTGRES_USERNAME = os.environ.get("DBUSER") POSTGRES_PASSWORD = os.environ.get("DBPASS") POSTGRES_HOST = os.environ.get("DBHOST") POSTGRES_DATABASE = os.environ.get("DBNAME") POSTGRES_PORT = os.environ.get("DBPORT", 5432) sql_url = f"postgresql://{POSTGRES_USERNAME}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DATABASE}" engine = create_engine(sql_url)
3. Examine o comando de inicialização
O Serviço de Aplicativo do Azure requer um comando de inicialização para executar seu aplicativo FastAPI. O modelo azd define esse comando para você em sua instância do Serviço de Aplicativo.
No ficheiro
infra/resources.bicep, localize a declaração do seu site da Web e, em seguida, encontre a configuração paraappCommandLine. Esta é a configuração para o comando de inicialização.resource web 'Microsoft.Web/sites@2024-11-01' = { name: '${prefix}-app-service' location: location tags: union(tags, { 'azd-service-name': 'web' }) kind: 'app,linux' properties: { serverFarmId: appServicePlan.id siteConfig: { alwaysOn: true linuxFxVersion: 'PYTHON|3.11' ftpsState: 'Disabled' appCommandLine: 'src/entrypoint.sh' minTlsVersion: '1.2' } httpsOnly: true } identity: { type: 'SystemAssigned' }O comando de inicialização executa o arquivo src/entrypoint.sh. Examine o código nesse arquivo para entender os comandos que o Serviço de Aplicativo executa para iniciar seu aplicativo:
#!/bin/bash set -e python3 -m pip install --upgrade pip python3 -m pip install -e src python3 src/fastapi_app/seed_data.py python3 -m gunicorn fastapi_app:app -c src/gunicorn.conf.py
Para saber mais sobre a configuração e inicialização do aplicativo no Serviço de Aplicativo, consulte Configurar um aplicativo Linux Python para o Serviço de Aplicativo do Azure.
4. Gerar esquema de banco de dados
Você deve ter notado na seção anterior que entrypoint.sh contém a seguinte linha: python3 src/fastapi_app/seed_data.py. Este comando migra seu banco de dados. No aplicativo de exemplo, ele garante apenas que as tabelas corretas sejam criadas em seu banco de dados. Ele não preenche essas tabelas com nenhum dado.
Nesta seção, você executará esse comando manualmente para fins de demonstração. Com o banco de dados PostgreSQL protegido pela rede virtual, a maneira mais fácil de executar o comando é em uma sessão SSH com o contêiner do Serviço de Aplicativo.
Use o valor do Serviço de Aplicativo que você anotou anteriormente na saída azd para construir a URL para a sessão SSH e navegar até ela no navegador:
No terminal SSH, execute
python3 src/fastapi_app/seed_data.py. Se for bem-sucedido, o Serviço de Aplicativo está se conectando com êxito ao banco de dados.Nota
Somente as alterações nos
/homearquivos podem persistir além das reinicializações do aplicativo. As mudanças fora do/homenão são persistentes.
5. Navegue até o aplicativo
Na saída azd, encontre o URL do seu aplicativo e navegue até ele no navegador. O URL tem esta aparência na saída AZD:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>Adicione alguns restaurantes à lista.
Parabéns, você está executando um aplicativo Web no Serviço de Aplicativo do Azure, com conectividade segura ao Banco de Dados do Azure para PostgreSQL.
6. Transmitir logs de diagnóstico
O Serviço de Aplicativo do Azure pode capturar logs para ajudá-lo a diagnosticar problemas com seu aplicativo. Por conveniência, o modelo azd já habilitou o registro no sistema de arquivos local.
O aplicativo de exemplo usa o módulo de log Python Standard Library para gerar logs. A aplicação de exemplo inclui chamadas para o logger.
@app.get("/", response_class=HTMLResponse)
async def index(request: Request, session: Session = Depends(get_db_session)):
logger.info("root called")
statement = (
select(Restaurant, func.avg(Review.rating).label("avg_rating"), func.count(Review.id).label("review_count"))
.outerjoin(Review, Review.restaurant == Restaurant.id)
.group_by(Restaurant.id)
)
Para acessar o fluxo de log, abra seu aplicativo no portal do Azure. Selecione Monitorização>do fluxo de log.
Os eventos podem levar vários minutos para aparecer nos logs de diagnóstico. Saiba mais sobre como iniciar sessão em aplicações Python na série sobre como configurar o Azure Monitor para a sua aplicação Python.
7. Limpar os recursos
Para excluir todos os recursos do Azure no ambiente de implantação atual, execute azd down.
azd down
Resolução de Problemas
A lista seguinte descreve os problemas que pode encontrar enquanto tenta avançar neste tutorial e os passos para os resolver.
Não consigo me conectar à sessão SSH
Se não conseguires ligar-te à sessão SSH, então a própria aplicação falhou ao início. Verifique os logs de diagnóstico para obter detalhes. Por exemplo, se você vir um erro como KeyError: 'AZURE_POSTGRESQL_CONNECTIONSTRING', isso pode significar que a variável de ambiente está ausente (você pode ter removido a configuração do aplicativo).
Recebo um erro ao executar migrações de banco de dados
Se você encontrar algum erro relacionado à conexão com o banco de dados, verifique se as configurações do aplicativo (AZURE_POSTGRESQL_CONNECTIONSTRING) foram alteradas. Sem essa cadeia de conexão, o comando migrate não pode se comunicar com o banco de dados.
Perguntas mais frequentes
- Quanto custa esta configuração?
- Como faço para me conectar ao servidor PostgreSQL que está protegido atrás da rede virtual com outras ferramentas?
- Como funciona o desenvolvimento de aplicativos locais com o GitHub Actions?
Quanto custa esta configuração?
O preço dos recursos criados é o seguinte:
- O plano de App Service é criado no nível Básico e pode ser escalado para cima ou para baixo. Consulte Preços do Serviço de Aplicativo.
- O servidor flexível PostgreSQL é criado na camada mais baixa de capacidade variável Standard_B1ms, com o tamanho mínimo de armazenamento, que pode ser dimensionado para cima ou para baixo. Consulte Banco de Dados do Azure para obter preços do PostgreSQL.
- A rede virtual não incorre em cobrança, a menos que configure funcionalidades adicionais, como emparelhamento. Consulte Preços da Rede Virtual do Azure.
- A zona DNS privada incorre em uma pequena cobrança. Consulte Preços do DNS do Azure.
Como faço para me conectar ao servidor PostgreSQL que está protegido atrás da rede virtual com outras ferramentas?
- Para acesso básico a partir de uma ferramenta de linha de comando, você pode executar
psqla partir do terminal SSH do aplicativo. - Para se conectar a partir de uma ferramenta de área de trabalho, sua máquina deve estar dentro da rede virtual. Por exemplo, pode ser uma VM do Azure conectada a uma das sub-redes ou uma máquina em uma rede local que tenha uma conexão VPN site a site com a rede virtual do Azure.
- Você também pode integrar o Azure Cloud Shell à rede virtual.
Como funciona o desenvolvimento de aplicativos locais com o GitHub Actions?
Usando o ficheiro de fluxo de trabalho gerado automaticamente do App Service como exemplo, cada git push despoleta uma nova execução de compilação e implantação. A partir de um clone local do repositório GitHub, você faz as atualizações desejadas e envia por push para o GitHub. Por exemplo:
git add .
git commit -m "<some-message>"
git push origin main
Próximos passos
Saiba como proteger seu aplicativo com um domínio e um certificado personalizados.
Aprenda como o App Service corre uma aplicação em Python.