Associare un Database di Azure per PostgreSQL all'applicazione in Azure Spring Apps
Nota
Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.
Questo articolo si applica a: ✔️ Java ✔️ C#
Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise
Con Azure Spring Apps è possibile associare automaticamente i servizi di Azure selezionati alle applicazioni, invece di dover configurare manualmente l'applicazione Spring Boot. Questo articolo illustra come associare l'applicazione all'istanza di Database di Azure per PostgreSQL.
In questo articolo sono inclusi due metodi di autenticazione: autenticazione di Microsoft Entra e autenticazione PostgreSQL. La scheda Senza password mostra l'autenticazione di Microsoft Entra e la scheda Password mostra l'autenticazione PostgreSQL.
L'autenticazione di Microsoft Entra è un meccanismo per la connessione a Database di Azure per PostgreSQL usando le identità definite in Microsoft Entra ID. Con l'autenticazione di Microsoft Entra, è possibile gestire le identità utente del database e altre servizi Microsoft in una posizione centrale, semplificando la gestione delle autorizzazioni.
L'autenticazione postgreSQL usa gli account archiviati in PostgreSQL. Se si sceglie di usare le password come credenziali per gli account, queste credenziali vengono archiviate nella tabella utente. Poiché queste password vengono archiviate in PostgreSQL, è necessario gestire manualmente la rotazione delle password.
Prerequisiti
- Un'applicazione distribuita in Azure Spring Apps. Per altre informazioni, vedere Avvio rapido: Distribuire la prima applicazione in Azure Spring Apps.
- Istanza del server flessibile Database di Azure per PostgreSQL.
- Interfaccia della riga di comando di Azure versione 2.45.0 o successiva.
Preparare il progetto
Per preparare il progetto, seguire questa procedura.
Aggiungere la dipendenza seguente al file pom.xml del progetto:
<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>
Nel file application.properties rimuovere tutte le proprietà
spring.datasource.*
.Aggiornare l'app corrente eseguendo
az spring app deploy
o creare una nuova distribuzione per questa modifica eseguendoaz spring app deployment create
.
Associare l'app all'istanza di Database di Azure per PostgreSQL
Nota
Assicurarsi di selezionare solo uno degli approcci seguenti per creare una connessione. Se sono già state create tabelle con una connessione, gli altri utenti non possono accedere o modificare le tabelle. Quando si tenta l'altro approccio, l'applicazione genererà errori come "Autorizzazione negata". Per risolvere questo problema, connettersi a un nuovo database o eliminare e ricreare uno esistente.
Nota
Per impostazione predefinita, i Connessione or di servizio vengono creati a livello di applicazione. Per eseguire l'override delle connessioni, è possibile creare di nuovo altre connessioni nelle distribuzioni.
Installare l'estensione senza password del servizio Connessione or per l'interfaccia della riga di comando di Azure:
az extension add --name serviceconnector-passwordless --upgrade
Configurare Azure Spring Apps per connettersi a Postgre database SQL con un'identità gestita assegnata dal sistema usando il
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
Prerequisiti
- Un'applicazione distribuita in Azure Spring Apps. Per altre informazioni, vedere Avvio rapido: Distribuire la prima applicazione in Azure Spring Apps.
- Un'istanza Database di Azure per PostgreSQL server singolo.
- Interfaccia della riga di comando di Azure versione 2.45.0 o successiva.
Preparare il progetto
Per preparare il progetto, seguire questa procedura.
Aggiungere la dipendenza seguente al file pom.xml del progetto:
<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>
Nel file application.properties rimuovere tutte le proprietà
spring.datasource.*
.Aggiornare l'app corrente eseguendo
az spring app deploy
o creare una nuova distribuzione per questa modifica eseguendoaz spring app deployment create
.
Associare l'app all'istanza di Database di Azure per PostgreSQL
Nota
I Connessione or di servizio vengono creati a livello di distribuzione. Pertanto, se viene creata un'altra distribuzione, è necessario creare di nuovo le connessioni.
Installare l'estensione senza password del servizio Connessione or per l'interfaccia della riga di comando di Azure:
az extension add --name serviceconnector-passwordless --upgrade
Configurare Azure Spring Apps per connettersi a Postgre database SQL con un'identità gestita assegnata dal sistema usando il
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
Passaggi successivi
In questo articolo si è appreso come associare un'applicazione in Azure Spring Apps a un'istanza di Database di Azure per PostgreSQL. Per altre informazioni sull'associazione di servizi a un'applicazione, vedere Associare un database di Azure Cosmos DB a un'applicazione in Azure Spring Apps.