今回は、「Stream Analytics」の基本的な使い方についてご紹介します。
事前にEvent HubとAzure Storage Blobをご用意ください。
※Event HubとAzure Storage Blobの作成方法は下記の記事を御覧ください。
Azure Event Hubsを触ってみた① 作成編
Stream Analyticsとは
Event HubやIoT Hubに出力されたデータやメッセージを取り込み、SQLベースの構文で加工を行い、SQLデータベースやBlobに出力できるサービスです。一秒間に何百万ものイベントを取り込むことができ、それをリアルタイムに処理することができます。
セットアップ
今回もプレビューポータルから操作します。
新規アイコンから「Internet of Things」の項目をクリックし「Stream Analytics job」のアイコンをクリックします。
ジョブ名・サブスクリプション・リソースグループ・場所を指定し、作成をクリックします。
雲のアイコンをクリックして、入力・出力の設定を行います。
まずは「1 入力追加」の項目をクリックし、「追加」をクリックします。
各項目を選択・入力していきます。
今回はEventHubのデータを入力するので、「ソース」をイベントハブに指定しEvent hubの接続情報を入力していきます。
入力後、作成をクリックするとAzure側で接続テストを行います。
接続テストが成功したことを確認したら、続いて「3 出力追加」の項目をクリックし、「追加」をクリックします。
入力時と同様に各項目を選択・入力していきます。
今回はBlobストレージにデータを出力するので、「シンク」をBlob ストレージに指定し、Blobの接続情報を入力していきます。
入力後、作成をクリックし接続テストが完了したら、続いて「2 クエリ開発」の項目をクリックします。
この画面で、Event Hubに入力されたデータを加工し、BlobやSQLserverに出力することができます。
今回は加工無しで出力するので、INTOの[]内に「出力のエイリアス」を、FROMの[]内に「入力のエイリアス」を記述します。
管理画面に戻り、開始アイコンをクリックします。
ジョブの開始時刻を設定できますが、今回はそのまま開始します。
以上で、StreamAnalyticsの準備が完了です。
動作確認
今回の動作の流れは下記の通りです。
①Event Hubにデータを送信。
②Event Hubで受けたデータをStream Analyticsが引き出し、Blobに出力。
③Blobに保存される。
それではEvent Hubsにデータを送信してみます。
今回もテスト送信なので、下記記事でも使ったREST APIのテストツール「DHC」を利用します。
Azure Event Hubsを触ってみた④ REST API送信編
今回送信するテストメッセージは「”DeviceId”:”dev-01″, “Temperature”:”37.0″」としてみます。
送信されたデータはStream Analyticsを経由してBlobに保存されますので、Blobを確認します。
送信したテストメッセージがBlobに保存されていることを確認できました。
今回はStream Analyticsでは加工を行いませんでしたが、項目を抜き出してSQLに変換してSQLserverに送るような使い方もできますので、今後も利用方法について紹介していければと思います。
次回もお楽しみに!