- Stream Analyticsの作成 画面の左側メニューより、[すべてのサービス]を選択し、[分析]、[Stream Analyticsジョブ]をクリックします
- Stream Analyticsの追加 Stream Analyticsの画面が表示されたら、上部のメニューより[+追加]をクリックします
- 新しいStream Analyticsジョブの追加 新しいStream Analyticsジョブの画面が表示されたら
- Stream Analyticsの開始/停止/削除 Stream Analyticsのデプロイが正常終了した場合、「停止」状態となります
- Stream Analyticsのストリーム入力の追加 Stream Analyticsの左側のメニューから[入力]を選択し、[+ストリーム入力の追加]をクリックすると、
- ストリーム入力の定義 Stream Analyticsで利用する入力を定義します
- Stream Analyticsのストリーム出力の追加 Stream Analyticsの左側のメニューから[出力]を選択し、[+追加]をクリックすると、
- ストリーム出力の定義-BLOBストレージ Stream Analyticsで利用するBLOBストレージ出力を定義します
- ストリーム出力の定義-Power BI Stream Analyticsで利用するPower BI出力を定義します
- Power BIの認証 Stream Analyticsの出力先にPower BIを指定する場合、出力先のPower BIの認証が必要になります
- ストリーム出力の定義-Power BI Stream Analyticsで利用するPower BI出力を定義します
- Power BI(fee)ライセンスの確認 契約中のアカウント環境(CSPライセンス)でFree(無償)版のPower BIが利用できるか確認するには?
- クエリの定義 Stream Analyticsで利用するクエリを定義します
- クエリの定義 クエリを利用することで、入力から出力へデータ渡す際にフィルターをかけたり、データを加工したりすることができます
- Stream Analyticsの起動 Stream Analyticsを起動します Stream Analyticsの左側メニューから[概要]を選択し、[開始]をクリックします
- ジョブの開始 Stream Analyticsの[開始]をクリックすると、ジョブ出力を開始する時刻を選択できます



ジョブ名
任意のジョブ名を指定します、利用できる文字種に注意してください サブスクリプション
複数のサブスクリプションがある場合に表示されます、例えば、製品毎、ユーザー毎、評価環境と実運用など※サブスクリプション名はユーザーでは変更できません、変更したい場合はご相談下さい
リソース グループ
既存のリソースグループを選択しますリソース グループを新しく作成する場合は、下の新規作成をクリックします
場所
リージョンは自由に選択できますが、リソース グループと同様に日本国内の場合[東日本]/[西日本]を選択するのが無難です ストリーミングユニット(1から192)
Stream Analyticsジョブで同時に処理するユニット数を設定します初期設定は3ユニットですが、小規模のPoCや学習目的であれば1ユニットへ変更し、必要に応じてユニット数を増やします
Stream Analyticsの料金
Azure Stream Analytics の価格は、このサービスに入力されるデータを処理するために必要なストリーミング ユニットの数に基づいて決まります
標準ストリーミングユニット
使用方法 | 料金 | ||
---|---|---|---|
ストリーミングユニット | ¥15.456/時間 | ||
ストリーミングユニット | ¥370.944/日 | ||
ストリーミングユニット | ¥11282.88/月(※) | ||
※価格に関しては参考価格となります、詳細はお問い合わせください |
■ポイント!
Stream Analyticsは利用しない時に停止することで利用料金を抑えることができます例えば、学習目的などであれば1日10時間、週に5日間で1月(4週間)利用した場合はおよそ¥3,000位で利用できます
逆に初期設定の3ユニットで1月(28日)使い続けた場合はおよそ¥31,000位となります
作成
作成内容に問題無ければ、[作成]をクリックしデプロイを開始しますStream AnalyticsをAzure上にデプロイするには数分程度かかるので、デプロイが終了するまで暫く待ちます
入出力を定義し、入出力の関係を定義したクエリが正しければ、「開始」状態に移行できます

Stream Analyticsの状態を確認したり変更したりするには、作成済みのStream Analyticsの概要メニューを選択します
開始
Stream Analyticsが「停止」している場合、「開始」をクリックし稼働することができます 停止
Stream Analyticsが「開始」している場合、「停止」をクリックし停止することができます 削除
Stream Analyticsを削除する場合にクリックします入力元のリストが表示されるので[IoT Hub]を選択します


入力のエイリアス
クエリで使用する入力名を指定します、複数の入力を定義すること可能です ◎サブスクリプションからIoT Hubを選択する
既に作成済みのIoT Hubが同じサブスクリプションにあるので、「サブスクリプションからIoT Hubを選択する」を選択します サブスクリプション
複数のサブスクリプションを契約している場合、今回の学習用に作成したIoT Hubと同じサブスクリプションを選択します IoT Hub
サブスクリプション内に既に定義済みのIoT Hubが複数ある場合は、学習用に作成したIoT Hubを選択します コンシューマーグループ
今回は初期状態($Default)でも大丈夫です、IoT Hubの入力を複数の出力(5つ以上)に分けて必要がある場合、入力を複数定義し、コンシューマーグループに別の名前を設定します(Input1、Input2等)
保存
名前やIoT Hubの指定に問題がなければ、その他の設定は初期設定のまま[保存]をクリックし入力の定義を終了します出力先のリストが表示されるので[Data Lake Storage Gen2/BLOB storage]を選択します


出力エイリアス
クエリで使用する出力名を指定します、複数の出力を定義すること可能です ◎Select storage from your subscription
既に作成済みのBLOBストレージが同じサブスクリプションにあるので、「Select storage from your subscription」を選択します サブスクリプション
複数のサブスクリプションを契約している場合、今回の学習用に作成したBLOBストレージと同じサブスクリプションを選択します ストレージアカウント
サブスクリプション内に既に定義済みのストレージアカウントが複数ある場合は、学習用に作成したストレージアカウントを選択します コンテナー
コンテナーの名前を指定します※今回は学習用のコンテナーを「◎新規作成」します、「○既存のものを使用」することも可能です
パスパターンを指定する事でコンテナー内に指定のパスでログを保存できます
例えば、上図の設定では年月日で階層が分かれ、以下のような構成でファイルが保存されます
[コンテナー]\TelemetoryLog\YYYY\MM\DD\xxxxxx_1.csv
イベントシリアル化形式
BLOBストレージにデータを保存する形式(フォーマット)を選択しますフォーマット形式は JSON/Avro/CSV/PARQUTE から選択できますが、今回はExcelで一般的なCSV形式で保存を選択します
区切りの記号
イベントシリアル化形式でCSVを選択した場合に表示され、CSV形式の区切り記号として コンマ(,)/セミコロン(;)/スペース/タブ/縦棒(|) を指定できます
保存
エイリアス名やイベントシリアル化形式の指定に問題がなければ、その他の設定は初期設定のまま[保存]をクリックし入力の定義を終了しますStream Analyticsの左側のメニューから[出力]を選択し、[+追加]をクリックすると、
出力先のリストが表示されるので[Power BI]を選択し、Power BIとの接続を[承認する]をクリックします
※ Power BIへデータを出力する場合は、Power BIのライセンス(有償版/無償版)が必要になります

Power BIの出力先の定義する際に[承認]をクリックすると、下図の様な画面が表示されるので、
Power BIのアカウント、パスワードを指定し認証を行ってください

→ 下記の「ポイント!」を参照

認証モード
最初に認証モードを[ユーザー トークン]へ変更します 出力エイリアス
クエリで使用する出力名を指定します、複数の出力を定義すること可能です データセット名
Power BIで表示するデータソースを選択する際に表示されるデータセット名を指定します テーブル名
Power BIでデータを可視化する際に利用するテーブル名を指定します 保存
設定が終わったら、必ず[保存]をクリックしてください■ポイント!
出力先のPower BIには、学習環境(POC)とは違うドメイン(xxx@domain.onmicrosoft.com)でも、指定する事ができます例えば、学習環境のドメインで生成されたデータを、既に会社で所有しているPower BIへ出力する等
この場合は、下図の認証画面でPower bIのアカウントに既存のアカウントで認証を行います
また、学習環境のドメイン(CSPライセンス)にFree(無償)版のPower BIのライセンスを付与することも可能です
CSPライセンス契約を締結済みのお客様でFree(無償)版のPower BIのライセンスをご希望の場合はご相談ください
同様に Power BI Pro(有償版)をご希望の場合も対応可能です
Power BIを共有したり、Power BI Embeddedで開発する場合は有償版のライセンスが必要です
Azureポータルの左側メニューから[Azure Active Directry]→[ライセンス]の順にクリックし、「ライセンス-概要」開きます
「購入済み」欄の「n個の製品」をクリックすると、CSPアカウントで現在利用可能なライセンスが画面が表示されます
ライセンスリストに「Power BI(free)」が表示されていれば、クリックすると下記画面が表示されます

上記画面では「azuredemo@xxxx.onmicrosoft.com」ユーザにPower BI(free)版のライセンスが割り当てられているのが確認できるので、
ストリーム出力-Power BIの承認を行う際に、この表示されたユーザを利用することができます
■ポイント!
「n個の製品」や「Power BI(free)」が表示されない場合は追加ライセンスをお持ちでないので、担当営業までご相談くださいStream Analyticsの左側のメニューから[クエリ]を選択すると、中央に入出力のリストが表示され、
右側にクエリエディタが表示されるのでクエリを記述します

■ポイント!
Stream Analyticsのクエリを編集するには、Stream Analyticsジョブを停止しておく必要がありますジョブの稼働中にクエリを編集する場合は、[概要]メニューから[停止]をクリックしてください
今回は単純にIoT Hubから入力された情報を加工せずにBLOBストレージとPower BIへ渡しますが
実際のクエリを利用してできることや文法などは、 「一般的 Stream Analytics 使用状況パターンのクエリ例」や、
リンク先のメニュー等が参考になります

クエリ1
赤枠の部分がIoT HubからBLOB ストレージへの記述 クエリ2
青枠の部分がIoT HubからPower BIへの記述クエリは、以下の様な形式となります
SELECT <データに対する操作を記述> INTO <データの出力先-1> FROM <データの入力元> SELECT <データに対する操作を記述> INTO <データの出力先-2> FROM <データの入力元>
上記のクエリはクエリを2つ定義することで、一つのIoT Hubの入力先のデータをすべて(*)BLOBストレージとPower BIへ出力しています。
Azureは全世界でサービス展開されるため基本的に標準時で処理されますが、例えば日本時間でデータを表示したい場合などはクエリに
SELECT
*
DATEADD(hour,9,System.TimeStamp) as system_datetime_jp
を追加することで、AzureのSystem時刻を+9時間した日本時間を出力データに追加できます
Azureは全世界でサービス展開されるため基本的に標準時で処理されますが、例えば日本時間でデータを表示したい場合などはクエリに
SELECT
*
DATEADD(hour,9,System.TimeStamp) as system_datetime_jp
を追加することで、AzureのSystem時刻を+9時間した日本時間を出力データに追加できます
保存
クエリの編集がすんだら必ず保存をクリックして、クエリを保存するようにしてください

現在
今回は過去のデータは必要ないので、(現在)を選択します■ポイント!
Stream Analyticsの入出力の定義にもよりますが、IoT Hubでは規定で1日間(7日間まで)データを保持しているためStream Analyticsの作業内容によっては過去(指定時刻や最終停止時刻)からジョブ出力を行うことができます
クエリーのエラーなどでジョブが停止したが、修正したので停止時刻から再開したいなど
開始
最後に[開始]を選択するとStream Analyticsが開始されるので、数分程度状況を確認しエラーが発生しないことを確認しデバイスのサンプルプログラムを実行してください