共用方式為


將裝置移轉至 Azure IoT 中樞

如果您決定從 IoT Central 型解決方案移轉至 IoT 中樞型解決方案,就必須變更目前連線到應用程式的所有裝置所使用的設定。 IoTC 移轉程式工具會將這個裝置移轉程序自動化。

此移轉程式工具:

  • 會在 IoT 中樞內,為目前連線到 IoT Central 應用程式的裝置建立裝置註冊。
  • 會使用命令,將與 IoT 中樞相關聯的裝置佈建服務 (DPS) 執行個體所擁有的識別碼範圍傳送給裝置。

此工具會要求連線的裝置實作 IoT Central 應用程式內的裝置範本所定義的 DeviceMove 命令。 命令承載是目標 DPS 執行個體的識別碼範圍。 裝置在收到此命令時,應該要:

  • 停止傳送遙測,並中斷與 IoT Central 應用程式的連線。
  • 使用命令承載中的新識別碼範圍,以 DPS 自我佈建。
  • 使用佈建結果來連線到目的地 IoT 中樞,並重新開始傳送遙測。

提示

您也可以使用移轉工具,在 IoT Cental 應用程式之間移轉裝置,或從 IoT 中樞移轉至 IoT Central 應用程式。

必要條件

您必須遵循下列必要條件,以完成裝置移轉步驟︰

裝置需求

您想要移轉的裝置必須在一個名爲 移轉 的元件中實作 DeviceMove 命令。 命令承載包含目的地 DPS 執行個體的識別碼範圍。 移轉工具存放庫包含定義 DeviceMove 命令的 DTDL 元件模型 範例。 您可以將此元件新增至現有的裝置範本。

此工具會假設元件名稱為 migration,而介面識別碼為 dtmi:azureiot:DeviceMigration;1

Screenshot that highlights the component name and interface ID.

工具存放庫也包含 範例程式碼,其中會示範裝置應該如何實作 DeviceMove 命令。

工具設定

請完成下列設定工作以準備進行移轉:

Microsoft Entra 應用程式

移轉程式工具需要 Microsoft Entra 應用程式註冊,才能向 Azure 訂用帳戶進行驗證:

  1. 瀏覽至 [Azure 入口網站] > [Microsoft Entra ID] > [應用程式註冊]

  2. 選取新增註冊

  3. 輸入名稱,例如「IoTC 移轉程式應用程式」。

  4. 在任何組織目錄中選取 [帳戶] (任何 Microsoft Entra 目錄 - 多租用戶) 和個人 Microsoft 帳戶 (例如 Skype、 Xbox)

  5. 選取 [單頁應用程式 (SPA)]

  6. 輸入 http://localhost:3000 作為重新導向 URI。 您稍後會將此值新增至移轉程式應用程式設定。

  7. 選取註冊

  8. 記下 [應用程式 (用戶端) 識別碼] 值與 [目錄 (租用戶) 識別碼] 值。 稍後會使用這些值來設定移轉程式應用程式:

    Screenshot that shows the Microsoft Entra application in the Azure portal.

  9. 瀏覽至註冊中的 [指令清單] 頁面,並將 requiredResourceAccess 的內容取代為下列設定:

    [
      {
        "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7",
        "resourceAccess": [
          {
            "id": "73792908-5709-46da-9a68-098589599db6",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013",
        "resourceAccess": [
          {
            "id": "41094075-9dad-400e-a0bd-54e686782033",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "00000003-0000-0000-c000-000000000000",
        "resourceAccess": [
          {
            "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
            "type": "Scope"
          }
        ]
      }
    ]
    
  10. 儲存變更。

將裝置金鑰新增至 DPS

將 IoT Central 應用程式的共用存取簽章金鑰或 X.509 憑證新增至 DPS 配置群組。

如果您的裝置使用共用存取簽章向 IoT Central 應用程式進行驗證:

  • 在您的 IoT Central 應用程式中,瀏覽至 [權限] > [裝置連線群組]
  • 選取裝置所使用的註冊群組。
  • 記下主要和次要金鑰。
  • 在 Azure 入口網站中,瀏覽至您的 DPS 執行個體。
  • 選取 [管理註冊]
  • 建立新的註冊並將證明類型設定為 [對稱金鑰]、取消選取 [自動產生金鑰],然後新增您記下的主要和次要金鑰。
  • 選取 [儲存]。

如果您的裝置使用 X.509 憑證向 IoT Central 應用程式進行驗證:

  • 在 Azure 入口網站中,瀏覽至您的 DPS 執行個體。
  • 選取 [憑證],然後選取 [新增]
  • 上傳並確認您在 IoT Central 應用程式中使用的根憑證或中繼 X.509 憑證。
  • 選取 [管理註冊]
  • 建立新的註冊並將證明類型設定為 [憑證],然後選取您上傳的主要和次要憑證。
  • 選取 [儲存]。

下載並設定移轉程式工具

將移轉程式工具的複本下載或複製到本機電腦:

git clone https://github.com/Azure/iotc-migrator.git

在下載存放庫的根目錄中,建立 .env 檔案。 使用您先前建立的 Microsoft Entra 應用程式註冊值,更新 REACT_APP_AAD_APP_CLIENT_IDREACT_APP_AAD_APP_TENANT_IDREACT_APP_AAD_APP_REDIRECT_URI 值。 接著儲存變更:

PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000

提示

請確定 REACT_APP_AAD_APP_REDIRECT_URI 符合您在 Microsoft Entra 應用程式註冊中使用的重新導向 URI。

在您的命令列環境中,瀏覽至 iotc-migrator 存放庫的根目錄。 然後,執行下列命令來安裝必要的 node.js 套件,再執行此工具:

npm install
npm start

在移轉程式應用程式啟動之後,瀏覽至 http://localhost:3000 以檢視工具。 出現提示時登入。

移轉裝置

使用此工具批次移轉您的裝置。 在 [新增移轉] 頁面上輸入移轉詳細資料:

  1. 輸入移轉的名稱。
  2. 從 IoT Central 應用程式選取裝置群組。
  3. 選取包含 DeviceMove 命令定義的裝置範本。
  4. 選取 [移至您自己的 Azure IoT 中樞]
  5. 選取連結至目標 IoT 中樞的 DPS 執行個體。
  6. 選取移轉。 此工具會提示您將金鑰從 IoT Central 應用程式複製到 DPS 註冊群組。 您先前已在 將裝置金鑰新增至 DPS 步驟中完成此步驟。

Screenshot of migration tool that shows the migration definition.

此工具現在會註冊所有已連線、並符合目的地 IoT 中樞內目標裝置篩選條件的裝置。 此工具接著會在 IoT Central 應用程式中建立作業,以呼叫所有裝置上的 DeviceMove 方法。 命令承載包含目的地 DPS 執行個體的識別碼範圍。

驗證移轉

使用移轉程式工具中的 [移轉狀態] 頁面來監視進度:

Screenshot that shows the migration status page in the tool.

選取 [移轉狀態] 頁面上的作業,以檢視 IoT Central 應用程式中的 作業狀態。 使用此頁面來檢視作業中個別裝置的狀態:

Screenshot showing completed migration status for IoT Central job.

已成功移轉的裝置會:

  • 在 IoT Central 應用程式中的 [裝置] 頁面上顯示為 [已中斷連線]

  • 在 IoT 中樞內顯示為已註冊和已佈建:

    Screenshot of IoT Hub in the Azure portal that shows the provisioned devices.

  • 現在會將遙測傳送至 IoT 中樞

    Screenshot of IoT Hub in the Azure portal that shows telemetry metrics for the migrated devices.

下一步

您現已知道如何將裝置從 IoT Central 應用程式移轉至 IoT 中樞,建議的下一個步驟是了解如何監視 Azure IoT 中樞