Condividi tramite


Connettere un'istanza di Database di Azure per MySQL all'applicazione in Azure Spring Apps

Nota

I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.

Questo articolo si applica a: ✔️ Java ✔️ C#

Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise

Con Azure Spring Apps è possibile connettere automaticamente i servizi di Azure selezionati alle applicazioni, invece di dover configurare manualmente l'applicazione Spring Boot. Questo articolo illustra come connettere l'applicazione all'istanza di Database di Azure per MySQL.

Prerequisiti

Preparare il progetto

  1. 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-mysql</artifactId>
    </dependency>
    
  2. Nel file application.properties rimuovere tutte le proprietà spring.datasource.*.

  3. Aggiornare l'app corrente eseguendo az spring app deployo creare una nuova distribuzione per questa modifica eseguendo az spring app deployment create.

Connettere l'app all'istanza di Database di Azure per MySQL

Nota

Per impostazione predefinita, i connettori di servizio vengono creati a livello di applicazione. Per eseguire l'override delle connessioni, è possibile creare di nuovo altre connessioni nelle distribuzioni.

Seguire questa procedura per configurare l'app Spring per connettersi a un server flessibile Database di Azure per MySQL con un'identità gestita assegnata dal sistema.

  1. Usare il comando seguente per installare l'estensione senza password di Service Connector per l'interfaccia della riga di comando di Azure.

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Usare quindi il comando seguente per creare un'identità gestita assegnata dall'utente per l'autenticazione di Microsoft Entra. Assicurarsi di sostituire le variabili nell'esempio con i valori effettivi. Per altre informazioni, vedere Configurare l'autenticazione di Microsoft Entra per Database MySQL di Azure - Server flessibile.

    export AZ_IDENTITY_RESOURCE_ID=$(az identity create \
        --name $AZURE_USER_IDENTITY_NAME \
        --resource-group $AZURE_IDENTITY_RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. Eseguire il az spring connection create comando , come illustrato nell'esempio seguente. Assicurarsi di sostituire le variabili nell'esempio con i valori effettivi.

    az spring connection create mysql-flexible \
        --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \
        --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \
        --app $APP_NAME \
        --target-resource-group $MYSQL_RESOURCE_GROUP \
        --server $MYSQL_SERVER_NAME \
        --database $DATABASE_NAME \
        --system-identity mysql-identity-id=$AZ_IDENTITY_RESOURCE_ID
    

Passaggi successivi

In questo articolo si è appreso come connettere un'applicazione in Azure Spring Apps a un'istanza di Database di Azure per MySQL. Per altre informazioni sulla connessione dei servizi a un'applicazione, vedere Connettere un database di Azure Cosmos DB a un'applicazione in Azure Spring Apps.