Share via


Binda en Azure Database for PostgreSQL till ditt program i Azure Spring Apps

Kommentar

Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.

Den här artikeln gäller för: ✔️ Java ✔️ C#

Den här artikeln gäller för: ✔️ Basic/Standard ✔️ Enterprise

Med Azure Spring Apps kan du binda välj Azure-tjänster till dina program automatiskt, i stället för att behöva konfigurera Spring Boot-programmet manuellt. Den här artikeln visar hur du binder ditt program till din Azure Database for PostgreSQL-instans.

I den här artikeln innehåller vi två autentiseringsmetoder: Microsoft Entra-autentisering och PostgreSQL-autentisering. Fliken Lösenordslös visar Microsoft Entra-autentiseringen och fliken Lösenord visar PostgreSQL-autentisering.

Microsoft Entra-autentisering är en mekanism för att ansluta till Azure Database for PostgreSQL med hjälp av identiteter som definierats i Microsoft Entra-ID. Med Microsoft Entra-autentisering kan du hantera databasanvändares identiteter och andra Microsoft-tjänster på en central plats, vilket förenklar behörighetshanteringen.

PostgreSQL-autentisering använder konton som lagras i PostgreSQL. Om du väljer att använda lösenord som autentiseringsuppgifter för kontona lagras dessa autentiseringsuppgifter i användartabellen. Eftersom dessa lösenord lagras i PostgreSQL måste du hantera rotationen av lösenorden själv.

Förutsättningar

Förbereda projektet

Använd följande steg för att förbereda projektet.

  1. Lägg till följande beroende i projektets pom.xml-fil :

    <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. Ta bort alla egenskaper i filen application.properties.spring.datasource.*

  3. Uppdatera den aktuella appen genom att köra az spring app deployeller skapa en ny distribution för den här ändringen genom att köra az spring app deployment create.

Binda din app till Azure Database for PostgreSQL-instansen

Kommentar

Se till att bara välja någon av följande metoder för att skapa en anslutning. Om du redan har skapat tabeller med en anslutning kan andra användare inte komma åt eller ändra tabellerna. När du provar den andra metoden genererar programmet fel som "Behörighet nekad". Du kan åtgärda problemet genom att ansluta till en ny databas eller ta bort och återskapa en befintlig databas.

Kommentar

Som standard skapas tjänst Anslut orer på programnivå. Om du vill åsidosätta anslutningarna kan du skapa andra anslutningar igen i distributionerna.

  1. Installera tillägget Service Anslut eller passwordless för Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Konfigurera Azure Spring Apps för att ansluta till PostgreSQL Database med en systemtilldelad hanterad identitet med kommandot 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
    

Förutsättningar

Förbereda projektet

Använd följande steg för att förbereda projektet.

  1. Lägg till följande beroende i projektets pom.xml-fil :

    <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. Ta bort alla egenskaper i filen application.properties.spring.datasource.*

  3. Uppdatera den aktuella appen genom att köra az spring app deployeller skapa en ny distribution för den här ändringen genom att köra az spring app deployment create.

Binda din app till Azure Database for PostgreSQL-instansen

Kommentar

Tjänst Anslut orer skapas på distributionsnivå. Så om en annan distribution skapas måste du skapa anslutningarna igen.

  1. Installera tillägget Service Anslut eller passwordless för Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Konfigurera Azure Spring Apps för att ansluta till PostgreSQL Database med en systemtilldelad hanterad identitet med kommandot az spring connection create .

    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
    

Nästa steg

I den här artikeln har du lärt dig hur du binder ett program i Azure Spring Apps till en Azure Database for PostgreSQL-instans. Mer information om hur du binder tjänster till ett program finns i Binda en Azure Cosmos DB-databas till ett program i Azure Spring Apps.