イベント ハブを使用して Azure Time Series Insights Gen1 環境にイベントを送信する
手記
Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 既存の環境をできるだけ早く別のソリューションに移行することを検討してください。 非推奨と移行の詳細については、
注意
これは Gen1 の記事です。
この記事では、Azure Event Hubs でイベント ハブを作成して構成する方法について説明します。 また、Event Hubs から Azure Time Series Insights にイベントをプッシュするサンプル アプリケーションを実行する方法についても説明します。 JSON 形式のイベントを含む既存のイベント ハブがある場合は、このチュートリアルをスキップし、Azure Time Series Insightsで環境
イベント ハブを構成する
イベント ハブを作成する方法については、Event Hubs のドキュメントを参照してください。
検索ボックスで、Event Hubsを検索します。 返された一覧で、Event Hubs
選択します。 イベント ハブを選択します。
イベント ハブを作成するときは、イベント ハブ名前空間を作成します。 まだ名前空間内にイベント ハブを作成していない場合は、メニューの [エンティティ]で、イベント ハブを作成します。
イベント ハブを作成したら、イベント ハブの一覧でイベント ハブを選択します。
メニューで「エンティティ」の下にある「Event Hubs」を選択します。
構成するイベント ハブの名前を選択します。
概要 で、コンシューマー グループ選択し、コンシューマー グループ 選択します。 必ず、Azure Time Series Insights イベント ソースによってのみ使用されるコンシューマー グループを作成してください。
大事な
このコンシューマー グループが、Azure Stream Analytics ジョブや別の Azure Time Series Insights 環境などの他のサービスで使用されていないことを確認します。 コンシューマー グループが他のサービスによって使用されている場合、読み取り操作は、この環境と他のサービスの両方に悪影響を与えます。 コンシューマー グループとして $Default を使用する場合、他の閲覧者がコンシューマー グループを再利用する可能性があります。
メニューの [
設定] で、[共有アクセス ポリシー] を選択し、[の追加] 選択します。 [新しい共有アクセス ポリシーの追加] ウィンドウで、MySendPolicyという名前の共有アクセスを作成します。 この共有アクセス ポリシーを使用して、この記事の後半の C# の例でイベントを送信します。 クレームで、送信 チェック ボックスを選択します。
Azure Time Series Insights インスタンスを追加する
Azure Time Series Insights Gen2 では、Time Series Model (NSG) を使用して受信テレメトリにコンテキスト データを追加できます。 NSG では、タグまたはシグナルは インスタンス、 と呼ばれ、コンテキスト データ インスタンス フィールドに格納できます。タイム シリーズ IDを使用して、クエリ時にデータが結合されます。 この記事の後半で使用するサンプル風力発電プロジェクトの 時系列 ID は id
です。 インスタンス フィールドにデータを格納する方法の詳細については、「タイム シリーズ モデルの の概要」を参照してください。
Azure Time Series Insights イベント ソースを作成する
イベント ソースを作成していない場合は、イベント ソースを作成
手順を実行します。 timeSeriesId
の値を設定します。 詳細については、タイム シリーズ IDを学び、タイム シリーズ モデルを参照してください。
風力発電へのイベント送信サンプル
検索バーで、Event Hubsを検索します。 返された一覧で、Event Hubs
選択します。 イベント ハブ インスタンスを選択します。
共有アクセス ポリシー>MySendPolicyに移動します。 接続文字列の主キーの値をコピーします。
TSIサンプル風力発電プッシャーにアクセスします。 このサイトでは、シミュレートされた風力発電デバイスを作成して実行します。
Web ページの [イベント ハブ接続文字列] ボックスに、コピーした接続文字列を の [風力発電] 入力フィールド貼り付けます。
を選択してクリックし、を開始します。
ヒント
また、風力発電シミュレーターでは、Azure Time Series Insights GA クエリ APIを使用してペイロードとして使用できる JSON も作成されます。
手記
シミュレーターは、ブラウザー タブが閉じられるまでデータを送信し続けます。
Azure portal でイベント ハブに戻ります。 の [概要] ページに、イベント ハブによって受信された新しいイベントが表示されます。
サポートされている JSON 図形
例 1
入力: 単純な JSON オブジェクト。
{ "id":"device1", "timestamp":"2016-01-08T01:08:00Z" }
出力: 1 つのイベント。
身分証明書 タイムスタンプ device1 2016年1月8日 01:08:00
例 2
入力: 2 つの JSON オブジェクトを含む JSON 配列。 各 JSON オブジェクトはイベントに変換されます。
[ { "id":"device1", "timestamp":"2016-01-08T01:08:00Z" }, { "id":"device2", "timestamp":"2016-01-17T01:17:00Z" } ]
出力: 2 つのイベント。
身分証明書 タイムスタンプ デバイス1 2016-01-08T01:08:00Z デバイス2 2016-01-08T01:17:00Z
例 3
入力: 2 つの JSON オブジェクトを含む入れ子になった JSON 配列を持つ JSON オブジェクト。
{ "location":"WestUs", "events":[ { "id":"device1", "timestamp":"2016-01-08T01:08:00Z" }, { "id":"device2", "timestamp":"2016-01-17T01:17:00Z" } ] }
出力: 2 つのイベント。 プロパティ 場所 は、各イベントにコピーされます。
場所 events.id イベント.タイムスタンプ WestUs デバイス1 2016年1月8日 01時08分00秒 WestUs デバイス2 2016-01-08T01:17:00Z
例 4
入力: 2 つの JSON オブジェクトを含む入れ子になった JSON 配列を持つ JSON オブジェクト。 この入力は、グローバル プロパティを複雑な JSON オブジェクトで表すことができることを示しています。
{ "location":"WestUs", "manufacturer":{ "name":"manufacturer1", "location":"EastUs" }, "events":[ { "id":"device1", "timestamp":"2016-01-08T01:08:00Z", "data":{ "type":"pressure", "units":"psi", "value":108.09 } }, { "id":"device2", "timestamp":"2016-01-17T01:17:00Z", "data":{ "type":"vibration", "units":"abs G", "value":217.09 } } ] }
出力: 2 つのイベント。
場所 メーカー名 製造者所在地 events.id イベントのタイムスタンプ イベント.データ.タイプ イベント.データ.ユニット events.data.value WestUs メーカー1 EastU デバイス1 2016-01-08T01:08:00Z 圧力 プサイ 108.09 WestUs メーカー1 EastU デバイス2 2016年01月08日 01時17分00秒 UTC 振動 絶対重力 (abs G) 217.09