Vincular um Banco de Dados do Azure para PostgreSQL ao seu aplicativo no Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:✅ Java ✅ C#
Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise
Com o Azure Spring Apps, você pode vincular serviços selecionados do Azure aos seus aplicativos automaticamente, em vez de ter que configurar seu aplicativo Spring Boot manualmente. Este artigo mostra como vincular seu aplicativo à sua instância do Banco de Dados do Azure para PostgreSQL.
Neste artigo, incluímos dois métodos de autenticação: autenticação Microsoft Entra e autenticação PostgreSQL. A guia Sem senha mostra a autenticação do Microsoft Entra e a guia Senha mostra a autenticação do PostgreSQL.
A autenticação do Microsoft Entra é um mecanismo para se conectar ao Banco de Dados do Azure para PostgreSQL usando identidades definidas na ID do Microsoft Entra. Com a autenticação do Microsoft Entra, você pode gerenciar identidades de usuário de banco de dados e outros serviços da Microsoft em um local central, o que simplifica o gerenciamento de permissões.
A autenticação do PostgreSQL usa contas armazenadas no PostgreSQL. Se você optar por usar senhas como credenciais para as contas, essas credenciais serão armazenadas na tabela do usuário. Como essas senhas são armazenadas no PostgreSQL, você precisa gerenciar a rotação das senhas sozinho.
Pré-requisitos
- Um aplicativo implantado no Azure Spring Apps. Para obter mais informações, consulte Guia de início rápido: implantar seu primeiro aplicativo no Azure Spring Apps.
- Um Banco de Dados do Azure para instância do Servidor Flexível PostgreSQL.
- Azure CLI versão 2.45.0 ou superior.
Prepare o seu projeto
Use as etapas a seguir para preparar seu projeto.
No arquivo pom.xml do projeto, adicione a seguinte dependência:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-jdbc-postgresql</artifactId> </dependency>
No arquivo application.properties, remova todas
spring.datasource.*
as propriedades.Atualize o aplicativo atual executando
az spring app deploy
, ou crie uma nova implantação para essa alteração executandoaz spring app deployment create
.
Vincular seu aplicativo à instância do Banco de Dados do Azure para PostgreSQL
Nota
Certifique-se de selecionar apenas uma das seguintes abordagens para criar uma conexão. Se você já criou tabelas com uma conexão, outros usuários não poderão acessá-las ou modificá-las. Quando você tenta a outra abordagem, o aplicativo lançará erros como "Permissão negada". Para corrigir esse problema, conecte-se a um novo banco de dados ou exclua e recrie um existente.
Nota
Por padrão, os Service Connectors são criados no nível do aplicativo. Para substituir as conexões, você pode criar outras conexões novamente nas implantações.
Instale a extensão sem senha do Service Connector para a CLI do Azure:
az extension add --name serviceconnector-passwordless --upgrade
Configure o Azure Spring Apps para se conectar ao Banco de Dados PostgreSQL com uma identidade gerenciada atribuída ao sistema usando o
az spring connection create
comando.az spring connection create postgres-flexible \ --resource-group $AZ_SPRING_APPS_RESOURCE_GROUP \ --service $AZ_SPRING_APPS_SERVICE_INSTANCE_NAME \ --app $APP_NAME \ --deployment $DEPLOYMENT_NAME \ --target-resource-group $POSTGRES_RESOURCE_GROUP \ --server $POSTGRES_SERVER_NAME \ --database $DATABASE_NAME \ --system-identity
Próximos passos
Neste artigo, você aprendeu como vincular um aplicativo no Azure Spring Apps a uma instância do Banco de Dados do Azure para PostgreSQL. Para saber mais sobre como vincular serviços a um aplicativo, consulte Vincular um banco de dados do Azure Cosmos DB a um aplicativo no Azure Spring Apps.