將裝置遷移至 Azure IoT 中樞

如果您決定從IoT Central型解決方案移轉至以 IoT 中樞 為基礎的解決方案,則必須變更目前連線至應用程式的所有裝置的設定。 IoTC 移轉工具會將此裝置移轉程式自動化。

移轉工具:

  • 為目前連線到IoT Central 應用程式的裝置,在IoT中樞內建立裝置註冊。
  • 使用 命令,將與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. 流覽至 microsoft > Entra 識別碼 > 應用程式註冊 Azure 入口網站

  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 檔案。 使用 REACT_APP_AAD_APP_CLIENT_ID您先前建立的 Microsoft Entra 應用程式註冊值來更新、 REACT_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 中樞