チュートリアル: Time Series Insights を使用して Azure Digital Twins のイベントを視覚化および分析する
重要
Azure Digital Twins サービスの新しいバージョンがリリースされました。 新しいサービスの拡張機能に照らして、元の Azure Digital Twins サービス (このドキュメント セットで説明) は廃止されました。
新しいサービスのドキュメントを表示するには、アクティブな Azure Digital Twins のドキュメントを参照してください。
Azure Digital Twins インスタンスをデプロイし、空間をプロビジョニングして、特定の条件を監視するカスタム関数を実装した後は、傾向や異常を見つけるために空間から受け取ったイベントやデータを視覚化することができます。
最初のチュートリアルでは、モーション、二酸化炭素、温度のセンサーを備えた部屋がある架空の建物の空間グラフを構成しました。 2 番目のチュートリアルでは、グラフとユーザー定義関数をプロビジョニングしました。 関数によってこれらのセンサーの値が監視され、適切な条件になると通知がトリガーされます。 その条件とは、部屋が空室で、温度と二酸化炭素のレベルが正常であるという条件です。
このチュートリアルでは、Azure Digital Twins 設定からの通知とデータを Azure Time Series Insights と統合する方法について説明します。 その後、時間の経過に伴うセンサーの値を視覚化することができます。 最も利用されている部屋や 1 日のうちで最も忙しい時間帯などの傾向を調べることができます。 さらに、どの部屋で風通しの悪さや暑さをより強く感じるかや、建物内のあるエリアが、空調設備の異常を示す高い温度値を常に送信しているかどうか、などの異常を検出することもできます。
このチュートリアルでは、以下の内容を学習します。
- Azure Event Hubs を使用したデータのストリーム配信
- Time Series Insights を使用した分析
前提条件
このチュートリアルでは、お客様が Azure Digital Twins の設定の構成とプロビジョニングを完了していることを前提としています。 次に進む前に、以下が準備されていることを確認します。
- Azure アカウント。
- Digital Twins のインスタンスが実行中であること。
- Digital Twins C# のサンプルがダウンロードされ、作業マシン上に展開されていること。
- サンプルを実行する開発マシンに .NET Core SDK バージョン 2.1.403 以上がインストールされていること。 適切なバージョンがインストールされていることを確認するには、
dotnet --version
を実行します。
ヒント
新しいインスタンスをプロビジョニングする場合は、一意の Digital Twins インスタンス名を使用します。
Event Hubs を使用したデータのストリーム配信
Event Hubs サービスを使用すると、データをストリーム配信するパイプラインを作成できます。 このセクションでは、Azure Digital Twins インスタンスと Time Series Insights インスタンスの間のコネクタとしてイベント ハブを作成する方法について説明します。
イベント ハブの作成
Azure portal にサインインします。
左側のウィンドウで、[リソースの作成] を選びます。
[Event Hubs] を見つけて選択します。 [作成] を選択します
Event Hubs 名前空間の名前を入力します。 Standard価格レベル、サブスクリプション、Digital Twins インスタンスに使用したリソース グループ、場所を選択します。 [作成] を選択します
Event Hubs 名前空間のデプロイで、[概要] ウィンドウを選択し、[リソースに移動] を選択します。
イベント ハブの名前を入力し、[作成] を選択します。
イベント ハブは、デプロイ後、Event Hubs 名前空間の [Event Hubs] ウィンドウに [アクティブ] 状態として表示されます。 このイベント ハブを選択して、[概要] ウィンドウを開きます。
最上部にある [コンシューマー グループ] をクリックし、コンシューマー グループの名前 (たとえば、tsievents) を選択します。 [作成] を選択します
作成されたコンシューマー グループが、イベント ハブの [概要] ウィンドウの下部にある一覧に表示されます。
イベント ハブの [共有アクセス ポリシー] ウィンドウを開き、[追加] ボタンを選択します。 ポリシーの名前として「ManageSend」を入力し、すべてのチェック ボックスがオンになっていることを確認して、[作成] を選択します。
ヒント
名前空間ではなく、イベント ハブ インスタンスの SAS ポリシーを作成していることを確認してください。
作成した ManageSend ポリシーを開き、 接続文字列 (主キー と 接続文字列) の 値を一時ファイルにコピーします。 これらの値は、次のセクションでイベント ハブのエンドポイントを作成するために必要です。
イベント ハブのエンドポイントの作成
コマンド ウィンドウで、Azure Digital Twins サンプルの occupancy-quickstart\src フォルダーに移動していることを確認します。
エディターで actions\createEndpoints.yaml ファイルを開きます。 内容を次のものに置き換えます。
- type: EventHub eventTypes: - SensorChange - SpaceChange - TopologyOperation - UdfCustom connectionString: Primary_connection_string_for_your_event_hub secondaryConnectionString: Secondary_connection_string_for_your_event_hub path: Name_of_your_Event_Hub - type: EventHub eventTypes: - DeviceMessage connectionString: Primary_connection_string_for_your_event_hub secondaryConnectionString: Secondary_connection_string_for_your_event_hub path: Name_of_your_Event_Hub
プレースホルダー
Primary_connection_string_for_your_event_hub
を接続文字列の値 (イベント ハブの 主キー ) に置き換えます。 この接続文字列が次の形式になっていることを確認します。Endpoint=sb://nameOfYourEventHubNamespace.servicebus.windows.net/;SharedAccessKeyName=ManageSend;SharedAccessKey=yourShareAccessKey1GUID;EntityPath=nameOfYourEventHub
プレースホルダー
Secondary_connection_string_for_your_event_hub
を、イベント ハブの セカンダリ キーである接続文字列 の値に置き換えます。 この接続文字列が次の形式になっていることを確認します。Endpoint=sb://nameOfYourEventHubNamespace.servicebus.windows.net/;SharedAccessKeyName=ManageSend;SharedAccessKey=yourShareAccessKey2GUID;EntityPath=nameOfYourEventHub
プレースホルダー
Name_of_your_Event_Hub
をイベント ハブの名前に置き換えます。重要
引用符なしですべての値を入力します。 YAML ファイル内のコロンの後に少なくとも 1 つの空白文字があることを確認してください。 YAML ファイルの内容は、このツールのようなオンライン YAML 検証ツールを使用して検証することもできます。
ファイルを保存して閉じます。 コマンド ウィンドウで次のコマンドを実行し、メッセージが表示されたら Azure アカウントを使用してサインインします。
dotnet run CreateEndpoints
イベント ハブに対して 2 つのエンドポイントが作成されます。
Time Series Insights を使用した分析
Azure portal の左側のウィンドウで、[リソースの作成] を選択します。
Time Series Insights の一般公開 (GA) リソースを検索して選択します。 [作成] を選択します
Time Series Insights インスタンスの名前を入力し、サブスクリプションを選択します。 Digital Twins インスタンスに対して使用したリソース グループと場所を選択します。 [ 次へ: イベント ソース] ボタンまたは [ イベント ソース ] タブを選択します。
[イベント ソース] タブで、[名前] を入力し、[ソースの種類] として [イベントハブ] を選択し、作成したイベント ハブを参照する他の値が適切に選択されていることを確認します。 [イベント ハブ アクセス ポリシー名] には、ManageSend を選択します。さらに、[イベント ハブ コンシューマー グループ] には、前のセクションで作成したコンシューマー グループを選択します。 [Review + create](レビュー + 作成) を選択します。
[確認と作成] ウィンドウで、入力した情報を確認し、[作成] を選択します。
デプロイ ペインで、作成した Time Series Insights リソースを選択します。 Time Series Insights 環境の [概要] ウィンドウが開きます。
上部にある [環境を開く] ボタンを選択します。 "データ アクセスの警告" が表示された場合は、Time Series Insights インスタンスの [データ アクセス ポリシー] ウィンドウを開きます。[追加] を選択し、ロールとして [共同作成者] を選択して、適切なユーザーを選択します。
[環境を開く] をクリックすると、Time Series Insights エクスプローラーが開きます。 イベントが表示されない場合は、Digital Twins サンプルの device-connectivity プロジェクトに移動し、
dotnet run
を実行して、デバイス イベントをシミュレートします。いくつかのシミュレートされたイベントが生成されたら、Time Series Insights エクスプローラーに戻り、最上部にある更新ボタンを選択します。 シミュレートされたセンサー データについて作成中の分析グラフが表示されます。
次に、Time Series Insights エクスプローラーを使用して、部屋、センサー、その他のリソースからのさまざまなイベントやデータについてグラフやヒートマップを生成できます。 独自の視覚化を作成するには、左側の [メジャー] と [SPLIT BY]\(分割基準\) ドロップダウン ボックスを使用します。
たとえば、[メジャー] で [イベント] を選択し、[SPLIT BY]\(分割基準\) で [DigitalTwins-SensorHardwareId] を選択して、各センサーのヒートマップを生成します。 次の画像のようなヒートマップが得られます。
リソースをクリーンアップする
これ以降 Azure Digital Twins の探索を中止する場合は、このチュートリアルで作成されたリソースを削除してかまいません。
Azure portal の左側のメニューの [すべてのリソース] をクリックし、目的の Digital Twins リソース グループを選択して [削除] を選択します。
ヒント
ご自分の Digital Twins インスタンスの削除で問題が発生していた場合は、サービス更新が修正と共にロールアウトされています。 ご自分のインスタンスの削除を再試行してください。
必要に応じて、作業マシン上のサンプル アプリケーションを削除します。
次のステップ
Azure Digital Twins の空間インテリジェンス グラフとオブジェクト モデルについて学習するには、次の記事に進んでください。