Share via


在 Azure Spring Apps 中將 適用於 MySQL 的 Azure 資料庫 實例 連線 至您的應用程式

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但在我們努力更新資產,例如螢幕快照、影片和圖表時,您會在某些地方看到舊名稱一段時間。

本文適用於: ✔️ Java ✔️ C#

本文適用於: ✔️基本/標準✔️企業

透過 Azure Spring Apps,您可以自動將選取的 Azure 服務連線到您的應用程式,而不必手動設定 Spring Boot 應用程式。 本文說明如何將應用程式連線到 適用於 MySQL 的 Azure 資料庫 實例。

必要條件

準備您的專案

  1. 在專案的 pom.xml 檔案中,新增下列相依性:

    <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. 在 application.properties 檔案中,移除任何spring.datasource.*屬性。

  3. 執行 az spring app deploy來更新目前的應用程式,或執行 az spring app deployment create來建立此變更的新部署。

將您的應用程式 連線 至 適用於 MySQL 的 Azure 資料庫 實例

注意

根據預設,服務 連線 器會在應用層級建立。 若要覆寫連線,您可以在部署中再次建立其他連線。

請遵循下列步驟來設定 Spring 應用程式,以使用系統指派的受控識別連線到 適用於 MySQL 的 Azure 資料庫 彈性伺服器。

  1. 使用下列命令來安裝 Azure CLI 的服務 連線 或無密碼擴充功能。

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. 然後,使用下列命令建立使用者指派的受控識別以進行 Microsoft Entra 驗證。 請務必將範例中的變數取代為實際值。 如需詳細資訊,請參閱為 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器設定 Microsoft Entra 驗證。

    export AZ_IDENTITY_RESOURCE_ID=$(az identity create \
        --name $AZURE_USER_IDENTITY_NAME \
        --resource-group $AZURE_IDENTITY_RESOURCE_GROUP \
        --query id \
        --output tsv)
    
  3. az spring connection create執行 命令,如下列範例所示。 請務必將範例中的變數取代為實際值。

    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
    

下一步

在本文中,您已瞭解如何將 Azure Spring Apps 中的應用程式連線到 適用於 MySQL 的 Azure 資料庫 實例。 若要深入瞭解如何將服務連線到應用程式,請參閱將 Azure Cosmos DB 資料庫 連線 至 Azure Spring Apps 中的應用程式。