前回からひと月ほど空いてしまいまして、ついでに年も明けました。
2017年、明けましておめでとうございます! さて、前回までで全体の半分が終わったことになっております。下記の構成図でいうと、ちょうど上半分ですね。 今回のポストから見られた方は、前回から始めていただけることをおススメ致します。
今回は、Dropbox に溜まっている JSON ファイルを Azure Logic Apps (または Microsoft Flow) で取得して、それを Power BI Service に POST する方法を順に説明していきます。
1.Power BI Service の前準備
今回は Logic Apps を使用して、Power BI Service へ JSON データを POST するところがハイライトになるのですが、先に Power BI Service の POST 用 URL を取得しておく必要があります。
Power BI Service にはリアルタイムストリーミングを実現するための POST 用 URL (Power BI REST API) が用意されており、ここに JSON データを POST する(送信する)ことで、リアルタイムに動くグラフを作成することができます。
上記は 2016年11月26日 に品川の日本マイクロソフトで開催された Power BI 勉強会に私が登壇させていただいたときの資料です。この資料の13 ~ 17 ページの「Power BI での設定」を参考にしてください。
ポイントは上記資料の 15 ページで、[新しいストリーミング データセット] を作成する際に、名前は任意でOKなのですが、その下に JSON データを定義する画面があります。画面の項目で言うと、[ストリームからの値] というところです。
前回 Dropbox に保存している JSON データに定義を合わせる必要があります。定義を合わせると上記画像のようになります。なお、繰り返しになりますが、[データセット名] は任意のもので大丈夫です。ご自身が識別しやすい名称にしてください。
このようにして作成したストリーミングデータセットにはデータをプッシュするための URL が提供されます。これが REST API となっており、ここに先ほど定義した JSON を POST してあげることで、Power BI に作成したストリーミングデータセットへデータを登録 (Insert) することができます。
上記画像で説明すると、黄色マーカーの [プッシュ URL] に対して、表示されている JSON データを POST するということになります。
この [プッシュ URL] をコピーしておきます。 2.Azure Logic Apps でフローを作成
https://portal.azure.com/ にアクセスして、Logic Apps を新規作成します。
画面左の [その他のサービス>] をクリックして、開いた画面に logic apps と入力すると [Logic Apps] が表示されるのでこれをクリックします。
開いた画面の左上 [+追加] をクリックします。
最後に [作成] をクリックしてください。 次に [ロジック アプリ デザイナー] でフローを作成します。 トリガー:[Dropbox] ファイルが作成されたとき アクション:HTTP トリガーは、下記の画像のように "dropbox" と検索してください。表示される「ファイルが作成されたとき」を選択してください。(英語表記だと "When a file is created" になります。)
選択すると、Dropbox のアカウントを入力するように求められるので、JSON ファイルが保存されているアカウントを入力して、フォルダを選択してください。
項目を確認する頻度は、ここでは1分に1回を指定しております。これは、Dropbox にファイルを作成する頻度が1分に1回になっているからです。より正確に言うと、iPad の MESH アプリで IFTTT に対してどのくらいの感覚でデータを送信しているかに合わせればよいかと思います。私は、前回の投稿で、iPad の MESH アプリを1分に1回動作させるように設定しているので(タイマーロジック)、Dropbox へのファイルの確認頻度も1分に1回に設定しております。
次に [新しいステップ] をクリックして、[アクションの追加] を選択します。
"http" と入力して表示される [HTTP] を選択します。
(下の画像の一番上のやつです。)
HTTP アクションには以下のように設定します。
ポイントは URI に先ほどコピーしておいた Power BI の [プッシュ URI] を指定することと、本文に Dropbox の [ファイルコンテンツ] を指定することです。Dropbox の [ファイルコンテンツ] とは、Dropbox トリガーで新しいファイルが作成されると、その新しく作成されたファイルの内容が取得されます。ここでは JSON ファイルの内容を文字列で取得することになるので、それをそのまま Power BI に POST してあげると、JSON データがそのまま登録されるということになります。
Dropbox トリガーと HTTP アクションを設定すると以下のような感じになります。
ここまでくれば、あとは Logic Apps を保存します。保存ボタンは画面左上にあります。(以下画像参照)
よく保存を忘れるので、注意しましょう!
保存した瞬間から、Logic Apps は1分に1回動作し始めます。
[概要] を選択すると、実行結果を確認することができます。
ここまでで Logic Apps でのフローの作成は終了です。
もし Microsoft Flow を使用される場合でも、設定内容は同じなので、読み替えて、設定してみてください。 3.最後に Power BI で確認する
https://app.powerbi.com/ を開いて、Power BI に正しくデータが届いているか、確認します。
最も簡単に確認する方法は、事前に作成したデータセットからレポートを作成することです。 [データセット] を表示して、アクションのグラフのようなマークをクリックすると、レポートを作成することができます。
上記のボタンをクリックして、以下の画像のように、画面一番右のデータのカラム名(列名:DateTime, Humid, Temp)を選択してください。すると、一覧形式でデータが表示されます。
データが表示されれば、正常に動作をしていることになります。あとは好きなグラフで可視化を楽しんでください!
4.まとめ
今回までで、最初に紹介した構成図が完成しました。
次回は、改めてアーキテクチャ視点で考え、まとめてみたいと思います!
それでは次回まで(^^)/ ※ご不明な点がありましたら、下記までお気軽にご連絡をー(^◇^) Twitter: yugoes1021 Facebook: https://www.facebook.com/yugoes1021 その際、「ブログを見ましたー」とお伝えいただけると、助かりますー。
0 コメント
|
AuthorYugo Shimizu 株式会社セカンドファクトリー在籍。アーキテクト。主にマイクロソフト系技術を使っております。C#、.NET、SQL Server 等。最近は Power BI や IoT, Web API 等に興味あり。
このブログは IT を普通の人が使えるものにする 民主化 をテーマにしています。 Archives
10 月 2020
Categories
すべて
|