Compartilhar via


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 e dedicado Standard 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 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 se aplica a:✅ Java ✅ C#

Este artigo se aplica a:✅ Básico/Standard ✅ 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

Preparar seu projeto

Use as etapas a seguir para preparar seu projeto.

  1. 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>
    
  2. No arquivo application.properties, remova as propriedades spring.datasource.*.

  3. Atualize o aplicativo atual executando az spring app deploy ou crie uma nova implantação para essa alteração executando az 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.

  1. Instale a extensão sem senha do Conector de Serviço para a CLI do Azure:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. 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.