Share via


Vincular um Banco de Dados do Azure para PostgreSQL ao seu aplicativo no Azure Spring Apps

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.

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

Prepare o seu projeto

Use as etapas a seguir para preparar seu projeto.

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

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

  1. Instale a extensão sem senha do Service Connector para a CLI do Azure:

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

Prepare o seu projeto

Use as etapas a seguir para preparar seu projeto.

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

  3. Atualize o aplicativo atual executando , ou crie uma nova implantação para essa alteração executando az spring app deployaz spring app deployment create.

Vincular seu aplicativo à instância do Banco de Dados do Azure para PostgreSQL

Nota

Os conectores de serviço são criados no nível de implantação. Portanto, se outra implantação for criada, você precisará criar as conexões novamente.

  1. Instale a extensão sem senha do Service Connector para a CLI do Azure:

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