練習 - 設定練習環境
重要
此模組將會建立 Azure 資源。 如果您不打算再次使用此模組或未完成模組,請務必移除已建立的資源。 我們已將如何移除所有資源的教學指示將包含在本模組的結尾中。
此課程模組假設您已安裝 Azure CLI。 您可以從命令提示字元視窗或 Windows PowerShell 中執行命令。 我們建議使用 PowerShell。
此課程模組也會假設您有 Azure 帳戶。 您需要 Azure 訂用帳戶上的參與者與使用者存取管理員角色或擁有者角色。
重要
如果您隸屬於某個組織,則可能需要與 IT 團隊進行協調,以建立 Azure Active Directory (Azure AD) 使用者帳戶,並授與適當的權限。 此外,與您的 Azure 訂用帳戶相關聯的來賓帳戶不符合最低需求。 您必須擁有一個成員帳戶。
ARM 範本邏輯已整合至可驅動資料模擬器的連線預製物件中。
下載解決方案與 ARM 範本
在上一個單元中,您已複製或下載 GitHub 中的存放庫。
使用 Azure CLI 登入 Azure
找出我們為您建立的 azuredeploy.bicep 指令碼。 此檔案通常位於存放庫資料夾的根目錄中。
從 [開始] 功能表中,開啟 PowerShell。 所有的 Azure CLI 命令都會在您的 PowerShell 主控台中執行。
將目前的路徑變更到您在步驟 1 中找到的 azuredeploy.bicep 指令碼位置。
cd <path for azuredeploy.bicep>
使用 az login 命令登入 Azure。 此命令會開啟瀏覽器視窗,並提示您進行驗證。
注意
如果命令無法開啟適當的瀏覽器視窗,請使用此命令:
az login --use-device-code
。 此裝置代碼流程會傳回唯一的代碼。 在您的瀏覽器中開啟裝置登入頁面,然後輸入終端中顯示的代碼。
在 PowerShell 中設定變數:
設定
$projectname
變數。 此值是您在此練習中所建立 Azure 資源的基底唯一名稱。 系統會為專案名稱附加額外的隨機字元。 確定您已使用雙引號將值括起來。注意
PowerShell 中的變數會以
$
符號開頭。$projectname="myproj"
重要
專案名稱長度最多僅能有 14 個字元。 該名稱只能包含小寫字母、數字與連字號字元。
設定應用程式註冊名稱,最多僅能有 14 個字元。 此值是您混合實境應用程式的應用程式註冊名稱。
$appreg="myappreg"
建立應用程式註冊
執行下列命令來建立服務主體,並設定其對 Azure 資源的存取權。
az ad sp create-for-rbac --name ${appreg} --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID> > AppCredentials.txt
此命令的輸出會從標準輸出重新導向至 AppCredentials.txt 文字檔。 命令會在您執行命令所在的相同目錄中建立檔案。 所有可能發生的錯誤都會顯示在 PowerShell 主控台中。 開啟檔案來擷取認證,以便稍後設定遙測模擬器應用程式。
注意
留意您保留此檔案的位置,因為它包含認證。 請考慮在完成此學習路徑之後刪除該檔案。
取得應用程式註冊的物件識別碼與使用者識別碼
使用下列命令,在 PowerShell 中針對
ObjectID
建立並設定變數。$objectid=$(az ad sp list --display-name ${appreg} --query [0].objectId --output tsv)
使用
echo
命令來驗證變數包含 GUID。 如果沒有,請檢查您先前的步驟。echo $objectid
針對使用者識別碼建立並設定變數。
$userid=$(az ad signed-in-user show --query objectId -o tsv)
使用
echo
命令來驗證變數包含 GUID。 如果沒有,請檢查您先前的步驟。echo $userid
建立 Azure 資源群組
在 PowerShell 中,使用 az group create 命令來建立資源群組:
az group create --name ${projectname}-rg --location eastus
請特別注意位置。 其必須是 eastus
。 此區域是適用於 Microsoft.SignalRService/SignalR 與 Microsoft.DigitalTwins/digitalTwinsInstances 的有效區域之一。
將 ARM 範本部署到新建立的資源群組
將提供的 bicep 檔案部署到您的資源群組,並將輸出重新導向名為 ARM_deployment_out.txt 的文字檔。 此流程可能需要 10 到 15 分鐘才能完成。
az deployment group create --template-file azuredeploy.bicep --resource-group ${projectname}-rg `
--parameters projectName=${projectname} userId=${userid} appRegObjectId=${objectid} `
> ARM_deployment_out.txt
檔案僅供參考。 此課程模組的其餘部分不需要此檔案。
注意
您可能會收到數個關於有效 URI 重新命名的警告訊息,其中指出輸出包含認證與類型可用性。 檢閱這些警告,但不需要立即採取任何動作。 警告不會影響此課程模組。
提示
如果您基於任何原因而需要重新建立 Azure 資源,請務必刪除所有先前的資源與資源群組執行個體。
安裝 Azure CLI 擴充功能
在 PowerShell 中使用 az extension 命令,在 PowerShell 中安裝適用於 Azure CLI 的 azure-iot 延伸模組。
az extension add --name azure-iot
此命令會下載並安裝該延伸模組。 如果已安裝,命令即會警示您。
查詢 Azure 部署以取得金鑰設定參數
在 PowerShell 中使用 az deployment group show 命令來查詢 Azure 部署。 此命令會將輸出重新導向名為 Azure_config_settings.txt 的檔案,該檔案位於您執行命令的相同目錄中。
az deployment group show --name azuredeploy --resource-group ${projectname}-rg `
--query properties.outputs.importantInfo.value > Azure_config_settings.txt
查詢 Azure 部署以取得資源群組連接參數
使用 az iot hub connection-string show 命令來查詢 IoT 中樞,以取得資源群組連接字串參數。 您稍後會在課程模組中使用此值。
az iot hub connection-string show --resource-group ${projectname}-rg >> Azure_config_settings.txt
此命令會將輸出重新導向並附加至名為 Azure_config_settings.txt 的檔案,該檔案位於您執行命令的相同目錄中。 您已在上一節中建立此檔案。 這兩個
>
符號表示命令會附加而不是覆寫。在 PowerShell 中確認輸出文字檔的內容。 此命令會顯示數個重要的設定參數,以供稍後在此課程模組中使用。
get-content Azure_config_settings.txt