演習 - 演習環境を設定する
重要
このモジュールでは、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 にサインインします。 このコマンドにより、ブラウザー ウィンドウが開かれて、認証を求めるメッセージが表示されます。
Note
このコマンドによって適切なブラウザー ウィンドウが開かれない場合は、次のコマンドを使います:
az login --use-device-code
。 このデバイス コード フローからは、一意のコードが返されます。 ブラウザーでデバイスのサインイン ページを開き、ターミナルに表示されたコードを入力します。
PowerShell で変数を設定する
$projectname
変数を設定します。 この値は、この演習で作成する Azure リソースのベースとなる固有の名前です。 プロジェクト名にはさらにランダムな文字が追加されます。 値が二重引用符で囲まれていることを確認します。Note
PowerShell の変数は、
$
記号で始まります。$projectname="myproj"
重要
プロジェクト名は最大 14 文字です。 それに含めることができるのは、英小文字、数字、ハイフン文字のみです。
アプリ登録の名前 (最大 14 文字) を設定します。 この値は、Mixed Reality アプリでアプリケーションの登録の名前になります。
$appreg="myappreg"
アプリ登録を作成する
次のコマンドを実行して、サービス プリンシパルを作成し、Azure リソースへのアクセスを構成します。
az ad sp create-for-rbac --name ${appreg} --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID> > AppCredentials.txt
このコマンドの出力は、標準出力から AppCredentials.txt テキスト ファイルにリダイレクトされます。 このコマンドは、コマンドを実行したのと同じディレクトリにファイルを作成します。 発生する可能性のあるエラーは、PowerShell コンソールに表示されます。 後で、このファイルを開いて資格情報を取得し、テレメトリ シミュレーター アプリケーションを構成します。
Note
このファイルには資格情報が含まれているため、保存する場所には注意してください。 このラーニング パスを完了した後、ファイルを削除してください。
アプリの登録のオブジェクト ID とユーザー ID を取得する
PowerShell で次のコマンドを使って、
ObjectID
のための変数を作成して設定します。$objectid=$(az ad sp list --display-name ${appreg} --query [0].objectId --output tsv)
echo
コマンドを使って、変数に GUID が含まれていることを検証します。 含まれていない場合は、前の手順を確認します。echo $objectid
ユーザー ID のための変数を作成して設定します。
$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 に対する有効なリージョンの 1 つです。
新しく作成したリソース グループに 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
ファイルは参照専用です。 このモジュールの残りの部分では必要ありません。
Note
有効な 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 という名前のファイルに出力をリダイレクトして追加します。 このファイルは前のセクションで作成しました。 2 つの
>
記号は、コマンドが上書きするのではなく追加することを示します。PowerShell で出力テキスト ファイルの内容を確認します。 このコマンドでは、このモジュールで後ほど使ういくつかの重要な構成パラメーターが表示されます。
get-content Azure_config_settings.txt