LoginSignup
0

More than 3 years have passed since last update.

IoT Centralのデータを他のAzureサービスに連携する【Event Hub】

Posted at

今回はAzureのIoT系SaaSサービスのIoT Centralのデータを活用する方法についてまとめていきます。

IoT Centralのデータをエクスポートする方法

現在、IoT Centralのデータを他のAzureサービスに連携する方法はEvent Hubs、
Service Bus、Blob Storageの3通りあります。以下、ドキュメントです。
https://docs.microsoft.com/ja-jp/azure/iot-central/core/howto-export-data

手順を見る限りではどれも簡単そうですが、今回はほぼリアルタイムにデータを出力するEvent Hubsを利用する方法をやってみます。

IoT Centralアプリケーションのセットアップについては別の記事に記載しているので今回はその続きだと考えてください。
https://qiita.com/ishii1125/items/0a36935a75c2d0a538f0

Azure側での準備

とりあえずAzureのサービスとしてはEvent Hubsだけあれば問題ないのですが、Event Hubsのスループットを見ても面白くないので、Stream AnalyticsでEvent Hubsに入ってきたデータをJsonファイルに落とし込みたいと思います。
ということで、必要なAzureのサービスをいくつかデプロイしていきます。
まずはEvent Hubs。「リソースの作成」で検索窓から「Event Hubs」を見つけてデプロイします。
価格レベルについては今回はBasic、スループットユニットは1で問題ないでしょう。
次にStream Analytics。Event Hubsと同様に「Stream Analytics job」を見つけてデプロイします。ストリーミングユニットを3から1にすることをお忘れなく。。。
最後にストレージアカウント。前略ですが「Storage account - blob, file, table, queue」を見つけてデプロイします。パフォーマンスはStandard、レプリケーションはLRSになっていれば特別問題ないでしょう。
一通りサービスがデプロイできたらそれぞれの設定をしていきます。

Azureサービスの諸作業

・Event Hubsの設定
作成したEvent Hubsの詳細に遷移し、実行するためのイベントハブを作成します。
image.png
パーティション数は4くらいにしておけば良いかと思います。

・Stream Analyticsの設定
入力、出力、クエリを準備します。
まず、入力の設定です。「ストリーム入力の追加」⇒「イベントハブ」を選択します。
image.png
詳細な設定は基本的には自動なので大幅割愛しますが、イベントシリアル形式はJsonで問題ないです。
次に、出力の設定です。「追加」⇒「Blob Storage/Data Lake Storage Gen2」を選択します。
image.png
ストレージアカウントについては先に作成したものを利用しますが、コンテナーについてはまだ作成していないので、この場で作成します。
「コンテナー」の項目から「新規作成」を選択し、任意の名前を決めてください。
最後はクエリです。SELECTは全出力にしたいので、アスタリスクのままでINTOを出力設定で作成した名前に、FROMは入力設定で作成した名前に変更して「クエリの保存」を選択してください。
以上で概ねの設定が完了です。

IoT CentralアプリケーションとAzureの連携

まず、IoT Centralアプリケーションでデータ連携の設定をします。
IoT Centralアプリケーションで「Data export」を選択し、「New」⇒「Azure Event Hubs」で作成したEvent Hubsとイベントハブを選択し「Save」します。
image.png
image.png

最後にStream Analyticsのジョブを実行してデバイスからIoT Centralアプリケーションにデータを送信します。
image.png

まとめ

実際にIoT Centralアプリケーションへのデータ送信とEvent Hubsのスループットのメトリックからかなりリアルタイム性は高いと思われます。
割とお手軽にできたので、IoT CentralアプリケーションをフロントにしたIoTも実現可能かと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0