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
- Ett program som distribuerats till Azure Spring Apps. Mer information finns i Snabbstart: Distribuera ditt första program till Azure Spring Apps.
- En Azure Database for PostgreSQL – flexibel serverinstans.
- Azure CLI version 2.45.0 eller senare.
Förbereda projektet
Använd följande steg för att förbereda projektet.
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>
Ta bort alla egenskaper i filen application.properties.
spring.datasource.*
Uppdatera den aktuella appen genom att köra
az spring app deploy
eller skapa en ny distribution för den här ändringen genom att köraaz 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.
Installera tillägget Service Anslut eller passwordless för Azure CLI:
az extension add --name serviceconnector-passwordless --upgrade
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
- Ett program som distribuerats till Azure Spring Apps. Mer information finns i Snabbstart: Distribuera ditt första program till Azure Spring Apps.
- En Azure Database for PostgreSQL-instans med enskild server.
- Azure CLI version 2.45.0 eller senare.
Förbereda projektet
Använd följande steg för att förbereda projektet.
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>
Ta bort alla egenskaper i filen application.properties.
spring.datasource.*
Uppdatera den aktuella appen genom att köra
az spring app deploy
eller skapa en ny distribution för den här ändringen genom att köraaz 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.
Installera tillägget Service Anslut eller passwordless för Azure CLI:
az extension add --name serviceconnector-passwordless --upgrade
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.