共用方式為


教學課程:使用服務連接器將應用程式部署至 Azure Spring Apps,並將其連線至適用於 MySQL 的 Azure 資料庫彈性伺服器

在本教學課程中,您將使用 Azure 入口網站 或 Azure CLI 來完成下列工作。 下列程序會說明這兩種方法。

  • 佈建 Azure Spring Apps 的執行個體
  • 建置應用程式並將其部署至 Azure Spring Apps
  • 整合 Azure Spring Apps 與服務連接器適用於 MySQL 的 Azure 資料庫

先決條件

佈建 Azure Spring Apps 的執行個體

下列程序會使用 Azure CLI 延伸模組來佈建 Azure Spring Apps 的執行個體。

  1. 使用 Azure Spring Apps 擴充功能更新 Azure CLI。

    az extension update --name spring
    
  2. 登入 Azure CLI 並選擇您的有效訂用帳戶。

    az login
    az account list -o table
    az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
    
  3. 建立資源群組以包含您的應用程式和 Azure Spring Apps 服務的實例。

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. 建立 Azure Spring Apps 的執行個體。 其名稱長度必須介於 4 到 32 個字元之間,且只能包含小寫字母、數位和連字號。 Azure Spring Apps 實例名稱的第一個字元必須是字母,最後一個字元必須是字母或數位。

    az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
    

建立適用於 MySQL 的 Azure 資料庫彈性伺服器

建立 MySQL 彈性伺服器實例。 在下列命令中,以您選擇的認證取代 <admin-username><admin-password> ,以建立 MySQL 彈性伺服器的系統管理員使用者。 管理使用者名稱不能是 azure_superuserazure_pg_adminadminadministratorrootguestpublic。 它不能以 pg_ 開頭。 密碼必須包含下列三個類別 的 8 到 128 個字元 :英文大寫字母、英文小寫字母、數位和非英數位元 (,例如、 !#%) 。 密碼不能包含 username

az mysql flexible-server create \
    --resource-group ServiceConnector-tutorial-mysqlf \
    --name mysqlf-server \
    --database-name mysqlf-db \
    --admin-user <admin-username> \
    --admin-password <admin-password>

除非您手動覆寫這些預設值,否則伺服器會以下列預設值建立:

設定 預設值 說明
server-name 由系統產生 可識別 Azure Database for MySQL 伺服器的唯一名稱。
sku-name GP_Gen5_2 SKU 的名稱。 遵循速記的慣例 {pricing tier}_{compute generation}_{vCores}。 預設是一部一般用途、具有 2 個 vCore 的第 5 代伺服器。 如需定價的詳細資訊,請移至我們的 定價頁面
backup-retention 7 備份應保留的時間長度。 單位為天。
geo-redundant-backup 已停用 是否應針對此伺服器啟用異地備援備份。
location westus2 伺服器的 Azure 位置。
ssl-enforcement 啟用 是否應針對此伺服器啟用 SSL。
storage-size 5120 伺服器的儲存體容量 (單位為 MB)。
version 5.7 MySQL 主要版本。

注意

預設會使用 Standard_B1ms SKU。 如需定價詳細資料,請參閱適用於 MySQL 的 Azure 資料庫定價

注意

如需有關 az mysql flexible-server create 命令及其額外參數的詳細資訊,請參閱 Azure CLI 文件

建置並部署應用程式

  1. 建立獲指派公用端點的應用程式。 如果您在產生 Azure Spring Apps 專案時選取了 JAVA 第 11 版,請包含 --runtime-version=Java_11 參數。

    az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
    
  2. az spring connection create執行 命令,將部署至 Azure Spring Apps 的應用程式連線到 MySQL 彈性伺服器資料庫。 以您自己的資訊取代下方的預留位置。

    az spring connection create mysql-flexible \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --service my-azure-spring \
        --app hellospring \
        --target-resource-group ServiceConnector-tutorial-mysqlf \
        --server mysqlf-server \
        --database mysqlf-db \
        --secret name=<admin-username> secret=<admin-secret>
    
    設定 描述
    --resource-group 資源群組的名稱,其中包含 Azure Spring Apps 所裝載的應用程式。
    --service Azure Spring Apps 資源的名稱。
    --app 連線至目標服務之 Azure Spring Apps 所裝載的應用程式名稱。
    --target-resource-group 具有儲存體帳戶的資源群組名稱。
    --server 您想要連線到的 MySQL 彈性伺服器
    --database 您稍早建立的資料庫名稱。
    --secret name MySQL 彈性伺服器使用者名稱。
    --secret MySQL 彈性伺服器密碼。

    注意

    如果您看到「未註冊訂用帳戶,無法使用 Microsoft.ServiceLinker」錯誤訊息,請執行 az provider register -n Microsoft.ServiceLinker 以註冊 Service Connector 資源提供者,然後再次執行連線命令。

  3. 複製範例程式碼

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. 使用 Maven 建立專案。

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. 部署應用程式的 target/demo-0.0.1-SNAPSHOT.jar JAR 檔案。

    az spring app deploy \
        --name hellospring \
        --service my-azure-spring \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --artifact-path target/demo-0.0.1-SNAPSHOT.jar
    
  6. 在部署之後,使用下列命令來查詢應用程式狀態。

    az spring app list  --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
    

    您應該會看見下列輸出:

    Name         Location    ResourceGroup                     Public Url                                                 Production Deployment    Provisioning State    CPU    Memory    Running Instance    Registered Instance    Persistent Storage    Bind Service Registry    Bind Application Configuration Service
    -----------  ----------  --------------------------------  ---------------------------------------------------------  -----------------------  --------------------  -----  --------  ------------------  ---------------------  --------------------  -----------------------  ----------------------------------------
    hellospring  eastus      ServiceConnector-tutorial-mysqlf  https://my-azure-spring-hellospring.azuremicroservices.io  default                  Succeeded             1      1Gi       1/1                 0/1                    -                     -
    
    

後續步驟

請依照下方列出的教學課程,深入了解 Service Connector。