Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@ishii1125

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

More than 1 year has passed since last update.

今回は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も実現可能かと思います。

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
teldevice
東京エレクトロンデバイスは、デバイスからクラウドまで、お客様のIoTビジネスを強力かつトータルにバックアップします。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?