演習 - 演習環境を設定する

完了

重要

このモジュールでは、Azure リソースを作成します。 このモジュールを再度使用する予定がない場合、またはモジュールを完了しない場合は、作成されたリソースを必ず削除してください。 すべてのリソースを削除する手順は、モジュールの最後に含まれています。

このモジュールでは、Azure CLI がインストールされていることが前提です。 コマンド プロンプト ウィンドウまたは Windows PowerShell からコマンドを実行できます。 PowerShell をお勧めします。

また、このモジュールでは、Azure アカウントをお持ちであることを前提としています。 Azure サブスクリプションの共同作成者ロールとユーザー アクセス管理者ロールを持っているか、所有者である必要があります。

重要

組織に属している場合は、IT チームと調整して Azure Active Directory (Azure AD) ユーザー アカウントを作成し、適切な特権を付与してもらうことが必要になる場合があります。 また、Azure サブスクリプションに関連付けられたゲスト アカウントでは、最小要件を満たしていません。 メンバー アカウントが必要です。

ARM テンプレートのロジックは、データ シミュレーターを駆動する接続プレハブに統合されています。

ソリューションと ARM テンプレートをダウンロードする

前のユニットでは、GitHub からリポジトリをクローンまたはダウンロードしました。

Azure CLI を使用して Azure にサインインする

  1. すでに作成されている azuredeploy.bicep スクリプトを見つけます。 通常、このファイルはリポジトリ フォルダーのルートにあります。

  2. [スタート] メニューから PowerShell を開きます。 すべての Azure CLI コマンドは、PowerShell コンソールで実行されます。

  3. 現在のパスを、ステップ 1 で見つけた azuredeploy.bicep スクリプトの場所に変更します。

    cd <path for azuredeploy.bicep>
    
  4. az login コマンドを使用して Azure にサインインします。 このコマンドにより、ブラウザー ウィンドウが開かれて、認証を求めるメッセージが表示されます。

    Note

    このコマンドによって適切なブラウザー ウィンドウが開かれない場合は、次のコマンドを使います: az login --use-device-code。 このデバイス コード フローからは、一意のコードが返されます。 ブラウザーでデバイスのサインイン ページを開き、ターミナルに表示されたコードを入力します。

    Screenshot of the output of the Windows PowerShell command running the az login command.

PowerShell で変数を設定する

  1. $projectname 変数を設定します。 この値は、この演習で作成する Azure リソースのベースとなる固有の名前です。 プロジェクト名にはさらにランダムな文字が追加されます。 値が二重引用符で囲まれていることを確認します。

    Note

    PowerShell の変数は、$ 記号で始まります。

    $projectname="myproj"
    

    重要

    プロジェクト名は最大 14 文字です。 それに含めることができるのは、英小文字、数字、ハイフン文字のみです。

  2. アプリ登録の名前 (最大 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

このファイルには資格情報が含まれているため、保存する場所には注意してください。 このラーニング パスを完了した後、ファイルを削除してください。

Screenshot of setting the app product and registration names and creating the app registration in PowerShell.

アプリの登録のオブジェクト ID とユーザー ID を取得する

  1. PowerShell で次のコマンドを使って、ObjectID のための変数を作成して設定します。

    $objectid=$(az ad sp list --display-name ${appreg} --query [0].objectId --output tsv)
    
  2. echo コマンドを使って、変数に GUID が含まれていることを検証します。 含まれていない場合は、前の手順を確認します。

    echo $objectid
    
  3. ユーザー ID のための変数を作成して設定します。

    $userid=$(az ad signed-in-user show --query objectId -o tsv)
    
  4. echo コマンドを使って、変数に GUID が含まれていることを検証します。 含まれていない場合は、前の手順を確認します。

    echo $userid
    

    Screenshot of using the Windows PowerShell environment to get the apps object and user ID.

Azure リソース グループを作成する

PowerShell で az group create コマンドを使って、リソース グループを作成します。

az group create --name ${projectname}-rg --location eastus

場所に特に注意してください。 eastus にする必要があります。 このリージョンは、Microsoft.SignalRService/SignalRmicrosoft.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 デプロイに対してクエリを実行する

  1. 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 つの > 記号は、コマンドが上書きするのではなく追加することを示します。

  2. PowerShell で出力テキスト ファイルの内容を確認します。 このコマンドでは、このモジュールで後ほど使ういくつかの重要な構成パラメーターが表示されます。

    get-content Azure_config_settings.txt
    

    Screenshot of running the get-content command in PowerShell.