Binda en Azure Database for PostgreSQL till ditt program i Azure Spring Apps
Kommentar
Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
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änstanslutningsprogram på programnivå. Om du vill åsidosätta anslutningarna kan du skapa andra anslutningar igen i distributionerna.
Installera det lösenordslösa tillägget för Service Connector 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
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.