#この記事で試すこと
Azure Event Hubsへ大量のデータを受信できますが、その後の加工処理をリアルタイムで行いたい場合に便利なのが、この「Azure Stream Analytics」です。この記事では、そんな「Stream Analytics」を利用して、シンプルなストレージアカウントへの送信方法と、データをすぐにリアルタイムで視覚化できる、Power BIへの設定方法をご紹介します。
まだAzure Event Hubsを設定されていない場合は、こちらからWeb APIを利用したEvent Hubsの設定方法がご覧頂けます。
#事前に準備するもの
- Azure サブスクリプション
- オープンデータへのアクセス権限(権限が必要な場合)
- Event Hubs(設定されていない場合は、こちらの記事を見てください)
#設定手順
##Azure Stream Analyticsの準備
まずはAzure Stream Analyticsを準備します。
※2016年6月にリリースされた、新しいAzure PortalのAzure Stream Analyticsでの構築方法を記載します。
-
Azure ポータルから、「新規」>「Intelligence + Analytics」>「Stream Analytics ジョブ」の順にクリックします。
-
以下のように、作成後は監視は有効になっていませんが、これでは、Event Hubsからメッセージを受信しても、簡易に受信したことを確認したり、エラーが発生していることがわかりにくくなります。
-
監視を有効にするには、診断を有効化します。「状態」を「オン」にし、診断結果を保存する先のストレージアカウントを選択します。
-
正しく設定すると、以下のような通知が表示されます。これで設定は完了です。次に、作成したAzure Stream Analyticsを、Event Hubsや、ストレージアカウントとつなげていきます。
##Azure Event HubsをStream Analyticsへ接続する
##Azure Stream AnalyticsからAzure ストレージアカウント出力を設定する
-
次に出力の設定をします。今回はEvent Hubsから受信した、データをまずはBLOBストレージへ保存しようと思います。「出力」をクリックします。
-
各パラメータを入力していきます。ストレージアカウントを既にお持ちでしたら、既存のストレージアカウントを選択することもできますし、新規で作成することも可能です。保存する際のフォルダ階層は「パスパターン」で定義します。{date}では受信した日付、{time}では受信した時間(1時間単位)でフォルダを分けてくれます。
#クエリを設定する
入力と出力は設定できましたが、これだけではStream Analyticsは動作しません。入力で受信したデータを出力へ渡すためのクエリを設定する必要があります。今回は基本編ということもあり、一番シンプルなクエリを設定します。次回は、より高度なクエリをご紹介します。
-
「開始」をクリックすると、Stream Analyticsが開始され、受信したイベント(ここではEvent Hubsからのデータ)が設定したクエリ処理を経由して、出力先(BLOBストレージ)に送信されます。
-
実際に保存されているか、確認してみます。確認にはAzure Portalからアクセスするだけでも可能ですが、Azure Storage Explorerを使うとGUIが充実していて便利です。今回はAzure ポータルから確認します。ストレージアカウントへアクセスし、「BLOB」をクリックします。
-
コンテナを選択し、作成されたフォルダを開いてみます。最下層に進むと、JSON形式のファイルが格納されています。ファイル名は自動でStream Analyticsが生成したものです。