はじめに
IoTHubとStream AnalyticsとIoT オンライン シミュレーターを使った方法が紹介されているので試していきたいと思います。
構成
方法はドキュメントに記載されています。
-
Azure portal を使用して Stream Analytics ジョブを作成する - Azure Stream Analytics | Microsoft Learn
このクイック スタートでは、Stream Analytic ジョブの作成、入力と出力の構成、およびクエリの定義によって作業を開始する方法を示します。
docs.microsoft.com
構成は単純ですIoT機器からデータを受け取ったIoTHubがStream Analyticsに流します。Stream Analyticsはblobに保存します。
IoTHubの作成
IoTHubを作成ます。
IoTHub名はドキュメント通りだと作成できないので変更が必要です。一意の値である必要があるようです。
領域はIoT機器の近い場所が良いと思います。
パブリックアクセスです。
今回はFreeで確認します。本番環境ではサイジングが必要になるでしょう。作成します。
作成完了、デバイスを開きます。追加します。
デバイスIDも分かりやすい名前を付けます。
作成したデバイスを開き、接続文字列をコピーしておきます。
ストレージアカウントの作成
ストレージアカウントを作成します。同じリージョンで作成するのが良いでしょう。
作成後にコンテナーを作成します。任意の名前です。
Stream Analytics ジョブの作成
Stream Analytics ジョブを作成します。
- ジョブ名:任意
- 場所:IoTHubと同じ場所
作成後はIoTHubを接続します。
作成されてStream Analyticsジョブから入力を開きます。ストリーム入力の追加でIoTHubを選択します。
入力のエイリアスは任意の名前を付けます。
IoTHubは上記で作成したものを選択します。
次に出力先を設定します。blobになります。
出力を開き、追加からBlob Storageを選択します。
出力エイリアスは任意の名前を付けます。
ストレージアカウント、コンテナーは上記で作成したものを選択します。
次に27℃以上だと出力するようにクエリを設定します。クエリの保存を忘れずに行います。
SELECT * INTO BlobOutput FROM IoTHubInput WHERE Temperature > 27
以上ですべての設定は完了です。
次にIoT機器から温度を含んだ情報を送信します。
Raspberry Pi Azure IoTオンラインシミュレーター
AzureではRaspberry Pi Azure IoTオンラインシミュレーターが用意されています。
いちいちRaspberry PiなどのIoT機器を用意する必要がありません。
-
Raspberry Pi Azure IoT Web Simulator
This is a Web simulator for Raspberry Pi as client and Azure IoT Hub as service. You can enjoy Azure ...
azure-samples.github.io
15行目を編集します。
const connectionString = '[Your IoT hub device connection string]';
[Your IoT hub device connection string]
に上記でコピーしたIoTHubの接続文字列を入力します。
編集後に右下のRunをクリックし開始します。
Stream Analyticsジョブの開始
Stream Analyticsジョブを開き上部の開始をクリックします。
以上でIoT機器からの情報を収集しBlobに保存が開始します。
確認
blobに保存されているか確認します。27度以上のものが保存ざれていることが確認できます。
以上ですべての工程は完了です。
まとめ
あまり利用することのないStream Analyticsの紹介をしました。IoT機器を利用して情報収集を行い分析を行う場合に使うなどStream系なもので使うので覚えておくとよいと思います。