みなさん、こんにちは。
前回に続き、膨大なセンサーデータから自動で異常を検知して Dynamics 365 にケースを自動作成するサンプルデザインを紹介します。
前回の記事を読まれていない方は、是非ご覧ください。
膨大なセンサーデータと連携 ! Azure Cosmos DB 連携: 概要
事前準備
大まかな手順は 5 つです。Azure のサブスクリプションが必要になります。お持ち出ない方は、評価版を申し込みください。
- Azure Cosmos DB アカウントの作成
- サンプルデータの登録
- Azure Cosmos DB コネクタの構築
- Dynamics 365 Online の作成
- Azure Logic Apps の作成
Azure Cosmos DB アカウントの作成
1. Azure ポータルにログインします。
2. [新規] > “Azure Cosmos DB” を検索します。
3. 作成ボタンをクリックします。
4. 必須項目を入力します。
API では NoSQL である MongoDB なども選択できます。
Geo 冗長の有効化をチェックすることでグローバル配布機能が有効化されます。
5. [作成] ボタンをクリックします。
6. 完了すると自動的に作成した Azure Cosmos DB アカウントが開かれます。
以上でアカウントの作成は完了です。
サンプルデータの登録
続いて、サンプルデータを登録していきます。今回は、正常と異常のセンサーデータを登録します。
1. [データエクスプローラー] メニューを開きます。
2. [New Colllection] をクリックします。
3. DatabaseID, Collection ID に任意の名前を付けます。
4. Strage capacity は、今回は評価用のため、Fixed にします。スループットも既定のままにします。
Fixed (10 GB) の画面
Unlimited の画面
Unlimited にすると、Partition Key を指定できるようになります。Azure Cosmos DB は、世界規模で分散配置されるマルチモデルのデータベース サービスです。Partition Key は、データを論理的なグループに分けることで、分散配置されたデータにも高速にアクセスできるようになります。詳細はこちらを参照ください。
https://docs.microsoft.com/ja-jp/azure/cosmos-db/partition-data
また、スループットの最大値を 100,000 まで上げることができます。
※最大値を上げるとコストが増えます。事前に十分にお見積もりください。
4. [OK] をクリックします。
5. 作成されます。
6. 正常データを登録します。Documents をクリックします。
6. [New Document] をクリックします。
7. データを登録する画面が表示されます。
8. “id” は行キーのため、ユニークな値にしました。また、センサーデータの状態として ”status” を追加します。
9. [Save] します。
10. “sensor_1” というデータが登録できたことがわかります。
11. 続けてデータを登録します。そのうち 1 件は、status: NG のものを登録します。
以上でサンプルデータの登録は完了です。
データの確認
登録したデータから異常なデータをクエリしてみましょう。
1. [New SQL Query] をクリックします。
2. クエリ画面が表示されます。
3. そのまま [Excute Query] をクリックします。すべてのデータが表示されます。
なお、”_rid” などの項目は、自動的に生成されるものです。
4. 続いて、異常なデータのみ抽出するクエリを実行してみます。
[status が “NG” と等しい ]
[status が “NG” と等しくない ]
クエリの構文については以下を参照ください。
https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query#WhereClause
まとめ
今回は、Azure Cosmos DB の準備を紹介しました。記事で深く触れなかったパーティション分割は別の機会に試したいと思います。次回は、Dynamics 365 Online および Logic Apps を準備していきます。
– プレミアフィールドエンジニアリング 河野 高也
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。