將裝置移轉至 Azure IoT 中樞
如果您決定從 IoT Central 型解決方案移轉至 IoT 中樞型解決方案,就必須變更目前連線到應用程式的所有裝置所使用的設定。 IoTC 移轉程式工具會將這個裝置移轉程序自動化。
此移轉程式工具:
- 會在 IoT 中樞內,為目前連線到 IoT Central 應用程式的裝置建立裝置註冊。
- 會使用命令,將與 IoT 中樞相關聯的裝置佈建服務 (DPS) 執行個體所擁有的識別碼範圍傳送給裝置。
此工具會要求連線的裝置實作 IoT Central 應用程式內的裝置範本所定義的 DeviceMove 命令。 命令承載是目標 DPS 執行個體的識別碼範圍。 裝置在收到此命令時,應該要:
- 停止傳送遙測,並中斷與 IoT Central 應用程式的連線。
- 使用命令承載中的新識別碼範圍,以 DPS 自我佈建。
- 使用佈建結果來連線到目的地 IoT 中樞,並重新開始傳送遙測。
提示
您也可以使用移轉工具,在 IoT Cental 應用程式之間移轉裝置,或從 IoT 中樞移轉至 IoT Central 應用程式。
必要條件
您必須遵循下列必要條件,以完成裝置移轉步驟︰
- 裝置目前連線的來源 IoT Central 應用程式。
- 要作為裝置移動目的地的 IoT 中樞。 此 IoT 中樞必須連結到 DPS 執行個體。
- node.js 和 npm 已安裝在用來執行移轉程式工具的本機電腦上。
裝置需求
您想要移轉的裝置必須在一個名爲 移轉 的元件中實作 DeviceMove 命令。 命令承載包含目的地 DPS 執行個體的識別碼範圍。 移轉工具存放庫包含定義 DeviceMove 命令的 DTDL 元件模型 範例。 您可以將此元件新增至現有的裝置範本。
此工具會假設元件名稱為 migration
,而介面識別碼為 dtmi:azureiot:DeviceMigration;1
:
工具存放庫也包含 範例程式碼,其中會示範裝置應該如何實作 DeviceMove 命令。
工具設定
請完成下列設定工作以準備進行移轉:
Microsoft Entra 應用程式
移轉程式工具需要 Microsoft Entra 應用程式註冊,才能向 Azure 訂用帳戶進行驗證:
選取新增註冊。
輸入名稱,例如「IoTC 移轉程式應用程式」。
在任何組織目錄中選取 [帳戶] (任何 Microsoft Entra 目錄 - 多租用戶) 和個人 Microsoft 帳戶 (例如 Skype、 Xbox)。
選取 [單頁應用程式 (SPA)]。
輸入
http://localhost:3000
作為重新導向 URI。 您稍後會將此值新增至移轉程式應用程式設定。選取註冊。
記下 [應用程式 (用戶端) 識別碼] 值與 [目錄 (租用戶) 識別碼] 值。 稍後會使用這些值來設定移轉程式應用程式:
瀏覽至註冊中的 [指令清單] 頁面,並將
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" } ] } ]
儲存變更。
將裝置金鑰新增至 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_ID
、REACT_APP_AAD_APP_TENANT_ID
和 REACT_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
以檢視工具。 出現提示時登入。
移轉裝置
使用此工具批次移轉您的裝置。 在 [新增移轉] 頁面上輸入移轉詳細資料:
- 輸入移轉的名稱。
- 從 IoT Central 應用程式選取裝置群組。
- 選取包含 DeviceMove 命令定義的裝置範本。
- 選取 [移至您自己的 Azure IoT 中樞]。
- 選取連結至目標 IoT 中樞的 DPS 執行個體。
- 選取移轉。 此工具會提示您將金鑰從 IoT Central 應用程式複製到 DPS 註冊群組。 您先前已在 將裝置金鑰新增至 DPS 步驟中完成此步驟。
此工具現在會註冊所有已連線、並符合目的地 IoT 中樞內目標裝置篩選條件的裝置。 此工具接著會在 IoT Central 應用程式中建立作業,以呼叫所有裝置上的 DeviceMove 方法。 命令承載包含目的地 DPS 執行個體的識別碼範圍。
驗證移轉
使用移轉程式工具中的 [移轉狀態] 頁面來監視進度:
選取 [移轉狀態] 頁面上的作業,以檢視 IoT Central 應用程式中的 作業狀態。 使用此頁面來檢視作業中個別裝置的狀態:
已成功移轉的裝置會:
下一步
您現已知道如何將裝置從 IoT Central 應用程式移轉至 IoT 中樞,建議的下一個步驟是了解如何監視 Azure IoT 中樞。