Associar um Banco de Dados do Azure para PostgreSQL ao seu aplicativo em Aplicativos Spring do Azure
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano Consumo Standard e dedicado será preterido a partir de 30 de setembro de 2024, com desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Java ✔️ C#
Este artigo se aplica ao: ✔️ nível Básico/Standard ✔️ nível Enterprise
Com o Azure Spring Apps, é possível associar serviços do Azure selecionados aos seus aplicativos automaticamente, em vez de precisar configurar manualmente seu aplicativo Spring Boot. Este artigo mostra como associar seu aplicativo à instância do Banco de Dados do Azure para PostgreSQL.
Neste artigo, incluímos dois métodos de autenticação: a autenticação do Microsoft Entra e a autenticação do 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 de conexão do Banco de Dados do Azure para PostgreSQL que usa as identidades definidas no Microsoft Entra ID. Com a autenticação do Microsoft Entra, você pode gerenciar as identidades de usuários do banco de dados e outros serviços da Microsoft em uma só localização central, o que simplifica o gerenciamento de permissões.
A autenticação PostgreSQL usa contas armazenadas no PostgreSQL. Se você optar por usar senhas como credenciais para as contas, essas credenciais são armazenadas na tabela de usuário. Como essas senhas são armazenadas no PostgreSQL, você precisa gerenciar a rotação das senhas por conta própria.
Pré-requisitos
- Um aplicativo implantado no Azure Spring Apps. Para obter mais informações, confira Início Rápido: implantar o seu primeiro aplicativo ao Azure Spring Apps.
- Uma instância do Banco de Dados do Azure para PostgreSQL – Servidor Flexível
- CLI do Azure versão 2.45.0 ou superior.
Preparar seu projeto
Use as etapas a seguir para preparar seu projeto.
No seu arquivo pom.xml do projeto, adicione a dependência a seguir:
<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 as propriedades
spring.datasource.*
.Atualize o aplicativo atual executando
az spring app deploy
ou crie uma nova implantação para essa alteração executandoaz spring app deployment create
.
Associar seu aplicativo à instância do Banco de Dados do Azure para PostgreSQL
Observação
Selecione apenas uma das abordagens a seguir e criar uma conexão. Se você já criou tabelas com uma conexão, outros usuários não poderão acessar ou modificar as tabelas. Ao tentar a outra abordagem, o aplicativo gerará erros como "Permissão negada". Para corrigir esse problema, conecte-se a um novo banco de dados ou exclua e recrie um existente.
Observação
Por padrão, os Conectores de Serviço 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 Conector de Serviço para a CLI do Azure:
az extension add --name serviceconnector-passwordless --upgrade
Configure os Aplicativos Spring do Azure para se conectar ao Banco de Dados PostgreSQL com uma identidade gerenciada atribuída pelo sistema usando o comando
az spring connection create
.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óximas etapas
Neste artigo, você aprendeu a associar um aplicativo dos Aplicativos Spring do Azure a uma instância do Banco de Dados do Azure para PostgreSQL. Para saber mais sobre como associar serviços a um aplicativo, confira Associar um banco de dados do Azure Cosmos DB a um aplicativo no Azure Spring Apps.