Een Azure Database for PostgreSQL verbinden met uw toepassing in Azure Spring Apps
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op: ✔️ Java ✔️ C#
Dit artikel is van toepassing op: ✔️ Basic/Standard ✔️ Enterprise
Met Azure Spring Apps kunt u bepaalde Azure-services automatisch verbinden met uw toepassingen, in plaats van uw Spring Boot-toepassing handmatig te configureren. In dit artikel leest u hoe u uw toepassing verbindt met uw Azure Database for PostgreSQL-exemplaar.
In dit artikel bevatten we twee verificatiemethoden: Microsoft Entra-verificatie en PostgreSQL-verificatie. Op het tabblad Wachtwoordloos wordt de Microsoft Entra-verificatie weergegeven en op het tabblad Wachtwoord wordt de PostgreSQL-verificatie weergegeven.
Microsoft Entra-verificatie is een mechanisme voor het maken van verbinding met Azure Database for PostgreSQL met behulp van identiteiten die zijn gedefinieerd in Microsoft Entra-id. Met Microsoft Entra-verificatie kunt u databasegebruikersidentiteiten en andere Microsoft-services op een centrale locatie beheren, waardoor het beheer van machtigingen wordt vereenvoudigd.
PostgreSQL-verificatie maakt gebruik van accounts die zijn opgeslagen in PostgreSQL. Als u ervoor kiest om wachtwoorden te gebruiken als referenties voor de accounts, worden deze referenties opgeslagen in de gebruikerstabel. Omdat deze wachtwoorden zijn opgeslagen in PostgreSQL, moet u de rotatie van de wachtwoorden zelf beheren.
Vereisten
- Een toepassing die is geïmplementeerd in Azure Spring Apps. Zie quickstart: Uw eerste toepassing implementeren in Azure Spring Apps voor meer informatie.
- Een exemplaar van Azure Database for PostgreSQL Flexible Server.
- Azure CLI versie 2.45.0 of hoger.
Uw project voorbereiden
Gebruik de volgende stappen om uw project voor te bereiden.
Voeg de volgende afhankelijkheid toe aan het bestand pom.xml van uw project:
<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>
Verwijder in het bestand application.properties alle
spring.datasource.*
-eigenschappen.Werk de huidige app bij door deze wijziging uit te voeren
az spring app deploy
of maak een nieuwe implementatie voor deze wijziging door uit te voerenaz spring app deployment create
.
Uw app verbinden met het Azure Database for PostgreSQL-exemplaar
Notitie
Zorg ervoor dat u slechts een van de volgende methoden selecteert om een verbinding te maken. Als u al tabellen met één verbinding hebt gemaakt, kunnen andere gebruikers de tabellen niet openen of wijzigen. Wanneer u de andere methode probeert, genereert de toepassing fouten zoals 'Machtiging geweigerd'. U kunt dit probleem oplossen door verbinding te maken met een nieuwe database of een bestaande database te verwijderen en opnieuw te maken.
Notitie
Standaard worden serviceconnectors gemaakt op toepassingsniveau. Als u de verbindingen wilt overschrijven, kunt u andere verbindingen opnieuw maken in de implementaties.
Installeer de serviceconnector-extensie zonder wachtwoord voor de Azure CLI:
az extension add --name serviceconnector-passwordless --upgrade
Configureer Azure Spring Apps om verbinding te maken met de PostgreSQL-database met een door het systeem toegewezen beheerde identiteit met behulp van de
az spring connection create
opdracht.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
Volgende stappen
In dit artikel hebt u geleerd hoe u een toepassing in Azure Spring Apps koppelt aan een Azure Database for PostgreSQL-exemplaar. Zie Een Azure Cosmos DB-database binden aan een toepassing in Azure Spring Apps voor meer informatie over bindingsservices voor een toepassing.