膨大なセンサーデータと連携 ! Azure Cosmos DB 連携: 事前準備 その 1


みなさん、こんにちは。

前回に続き、膨大なセンサーデータから自動で異常を検知して 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” を検索します。

image

3. 作成ボタンをクリックします。

image

4. 必須項目を入力します。

image

API では NoSQL である MongoDB なども選択できます。

image

Geo 冗長の有効化をチェックすることでグローバル配布機能が有効化されます。

image

5. [作成] ボタンをクリックします。

image

6. 完了すると自動的に作成した Azure Cosmos DB アカウントが開かれます。

image

以上でアカウントの作成は完了です。

サンプルデータの登録

続いて、サンプルデータを登録していきます。今回は、正常と異常のセンサーデータを登録します。

1. [データエクスプローラー] メニューを開きます。

image

2. [New Colllection] をクリックします。

image

3. DatabaseID, Collection ID に任意の名前を付けます。

image

4. Strage capacity は、今回は評価用のため、Fixed にします。スループットも既定のままにします。

Fixed (10 GB) の画面

image

Unlimited の画面

image

Unlimited にすると、Partition Key を指定できるようになります。Azure Cosmos DB は、世界規模で分散配置されるマルチモデルのデータベース サービスです。Partition Key は、データを論理的なグループに分けることで、分散配置されたデータにも高速にアクセスできるようになります。詳細はこちらを参照ください。

https://docs.microsoft.com/ja-jp/azure/cosmos-db/partition-data

また、スループットの最大値を 100,000 まで上げることができます。

※最大値を上げるとコストが増えます。事前に十分にお見積もりください。

4. [OK] をクリックします。

image

5. 作成されます。

image

6. 正常データを登録します。Documents をクリックします。

image

6. [New Document] をクリックします。

image

7. データを登録する画面が表示されます。

image

8. “id” は行キーのため、ユニークな値にしました。また、センサーデータの状態として ”status” を追加します。

image

9. [Save] します。

image

10. “sensor_1” というデータが登録できたことがわかります。

image

11. 続けてデータを登録します。そのうち 1 件は、status: NG のものを登録します。

image

以上でサンプルデータの登録は完了です。

データの確認

登録したデータから異常なデータをクエリしてみましょう。

1. [New SQL Query] をクリックします。

image

2. クエリ画面が表示されます。

image

3. そのまま [Excute Query] をクリックします。すべてのデータが表示されます。
なお、”_rid” などの項目は、自動的に生成されるものです。

image

4. 続いて、異常なデータのみ抽出するクエリを実行してみます。

[status が “NG” と等しい ]

image

[status が “NG” と等しくない ]

image

クエリの構文については以下を参照ください。

https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query#WhereClause

まとめ

今回は、Azure Cosmos DB の準備を紹介しました。記事で深く触れなかったパーティション分割は別の機会に試したいと思います。次回は、Dynamics 365 Online および Logic Apps を準備していきます。

– プレミアフィールドエンジニアリング 河野 高也

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。


Comments (0)

Skip to main content