こんにちは、 @dz_ こと大平かづみです。
Prologue - はじめに
Check! ESP-WROOM-02 から Azure Event Hubs にデータを送り、Power BI で可視化する(1) ~ 構成編 の続きです。
まずは、以下の構成でクラウド側の準備をします。
なお、本記事では Azure のアカウントを持っている前提で話を進めます。まだアカウントをお持ちでない方は、無料枠もあるのでぜひアカウントを作成してみてくださいね(^^)/
大まかな流れ
- Microsoft Power BI のアカウントを作成する
- Azure Event Hubs を作成する
- Azure Stream Analytics のジョブを作成する
手順
Microsoft Power BI のアカウントを作成する
Power BI には、デスクトップ版とウェブ利用版があります。今回はウェブ利用版を使いますので、サイトトップの 無料で使い始める
> サインアップ
でアカウントを作成してください。
なお、Power BI のアカウント登録には、組織のメールアドレス(gmail.com などフリーメールではなく、会社や組織がもつ独自ドメインのメールアドレス)が必要となります。
Azure Event Hubs を作成する
次に、Azure Event Hubs を作成します。
以降で行う Power BI への出力の設定が、現時点(2016年2月)ではクラシックポータルでしかできないので、クラシックポータルで統一して作業を行います。クラシックポータルは、現ポータルの Azure クラシックポータル
をクリックするか、 https://manage.windowsazure.com/ を開いてください。
イベント ハブを作成する
イベント ハブは Service Bus の一部です。画面左下の 新規
から、 APP SERVICES
> SERVICE BUS
> イベント ハブ
を開き、Service Bus の名前空間も同時に作成したいため、 カスタム作成
を選択します。
「イベント ハブ名」「リージョン」 を設定してください。 「名前空間」は 新しい名前空間の作成
とし、「名前空間名」は自動的に挿入されます。
「パーティション数」は、イベントデータを格納する入れ物またはシーケンスと考えることができます。個数が多いほど同時に処理できるシーケンスが増えますが、今回は1つのデータストリームしか扱わないので、最低値の 2
を設定します。(パーティション数はあとから変更できないので、実用で使用するときはよく検討してください。)
「メッセージのリテンション期間」は、イベントデータを保持する期間です。今回は 1
日とします。
上記の設定で、イベントハブを作成してください。
イベント ハブの共有アクセスポリシーを設定する
Service Bus およびイベント ハブの作成が完了したら、イベント ハブの構成を開きます。
「共有アクセスポリシー」を、送信
と リッスン
のアクセス許可を付けて任意の名前で作成します。
この共有アクセスキーは、SAS(Shared Access Signature: 共有アクセス署名)を作る際に使用します。
Azure Stream Analytics のジョブを作成する
さいごに、入力をイベント ハブ、出力を Power BI として、Stream Analytics のジョブを作成します。
ジョブを作成する
画面左下の 新規
から、 DATA SERVICES
> STREAM ANALYTICS
> 簡易作成
を選択します。 リージョン
は上記で作成したイベント ハブと同一とし、新しいストレージアカウントを指定して、ジョブを作成してください。
入力を設定する
作成したジョブの「入力」タブを開き、 入力の追加
をします。入力ジョブは データストリーム
の イベント ハブ
を指定します。
以下のようにイベント ハブとシリアル化の設定を行い、作成します。
-
イベントハブの設定
-
入力のエイリアス: 任意
-
サブスクリプション:
現在のサブスクリプションのイベントハブを使用
-
名前空間を選択する: 今回作成した名前空間
-
EVENTHUB を選択する: 今回作成したイベント ハブ
-
イベント ハブ ポリシー: 変更しない
-
コンシューマーグループ: 変更しない
-
シリアル化の設定
-
イベントのシリアル化の形式: JSON
-
エンコード: UTF8
出力を設定する
次に出力を設定します。
作成したジョブの「出力」タブを開き、 出力の追加
をします。「Power BI」を指定し、「今すぐ承認」をクリックして作成した Power BI のアカウントでログインします。「出力のエイリアス」「データセット名」「テーブル名」に任意の文字列を指定し、作成します。
クエリを設定する
最後にクエリを設定します。
作成したジョブの「クエリ」タブを開き、クエリを作成します。
INTO
に「出力のエイリアス」で指定した文字列を、FROM
に「入力のエイリアス」で指定した文字列を設定し、保存します。
以上でクラウド側の準備が完了しました!
Epilogue - おわりに
イベント ハブから Power BI へ、Stream Analytics を経由することにより連携します。Stream Analytics のクエリでは指定したデータのみを出力に回すなどのカスタマイズも可能ですので、確認してみてください。
それでは、次回はいよいよ ESP-WROOM-02 からデータを送信してみます!