詳細なテレメトリのストレージ

完了

IoT デバイスは大量のデータを生成し、それらを Azure IoT Hub に取り込んで処理に使用することができます。 このデータ フローは、直接的なインサイトを生成する機能で必須です。 Connected Field Service アドイン アプリケーション テンプレートは、Azure Stream Analytics ジョブを使用して、このデータ ストリームを処理します。 評価と警告の発生後、既定では、データは今後使用するために保持されることはありません。

Connected Field Service アドインのデプロイ中に、Power BI のオプションをオンにします。 このオプションにより、2 つ目の Azure Stream Analytics ジョブは Azure IoT Hub に接続し、デバイス データの独自のコピーを取得します。 このデータは、1 分間の時間枠に集計され、Azure SQL データベースに保存されます。このデータベースは、Power BI Connected Field Service のレポート テンプレートを使用して Power BI にフィードしたり表示したりできるようになります。 このアプローチでは無制限の記憶域を使用できますが、現在のテンプレート シナリオに合わせて大幅に調整されます。 別のデバイス データをサポートする必要がある場合は、独自の表形式とレポートを作成する必要があります。

Azure IoT Hub および Azure イベント ハブ

An Azure IoT Hub にはエンドポイントがあり、複数の基本エンドポイントは、Azure イベント ハブ と互換性のあるエンドポイントで、詳細なデバイス データ (デバイスからクラウドへのメッセージ) を受信します。 したがって、Azure Stream Analytics などのサービスは、データ ストリームを処理することができます。 これらのメッセージは、256kb に制限されます。 また、追加のカスタム エンドポイントを定義し、フィルター条件を満たすメッセージをそれらにルーティングすることもできます。 これらのエンドポイントは、Azure Storage、Event Hubs または Azure Service Bus のキューおよびサービス バスのトピックになることができます。 次の図は、Azure Storage エンドポイントを追加する例を示しています。

Azure Storage エンドポイントを追加する例のスクリーンショット。

追加のエンドポイントがある場合は、IoT Hub Routes によってメッセージのルーティング先が決定されます。 明示的なルールを追加する場合を除いて、イベントの組み込みエンドポイントは、他のエンドポイントにルーティングされないメッセージのみを取得します。 ルートは、SQL に似た言語を使用してフィルター処理できます。

たとえば、すべてのメッセージのコピーを Azure Storage に保存する場合は、IoT Hub のルーティングを次の図のようにして、両方のエンドポイントがデバイスからのすべてのメッセージを取得できるようにします。

デバイスからのすべてのメッセージを取得する両方のエンドポイントのスクリーンショット。

ストレージのタイプ

説明をわかりやすくするために、この IoT ソリューションの全体的なデータのフローを振り返ってみましょう。 Azure IoT 参照アーキテクチャによって行われる分類の 1 つは、データ ストレージを「中」または「低」のいずれかと見なすことです。 中のストレージには、データへのアクセスの待機時間が短い比較的最近のデータへのアクセスが必要です。 中のストレージは、1 日、1 週間、または 1 か月分のデータのみを保持できます。 低のストレージでは、通常、Azure Storage などの低コストな技術が使用され、詳細データをより長期的に保存できます。 低のストレージは、将来の機械学習 モデルのトレーニング、または将来の詳細なデバイス分析に使用される可能性があります。

Azure Stream Analytics

Power BI の使用について前述しましたが、これを実行するテンプレートは Azure SQL データベースをストレージとして使用しています。 「中」のストレージの概念に沿ったもう 1 つのアプローチは、Power BI に直接書き込んだ Stream Analytic ジョブから別の出力を作成することです。 これは Azure Stream Analytics の機能の 1 つです。 これにより Power BI でデータをリアルタイムで把握できますが、キャパシティによって自動的に制限されます。 このアプローチでは、200,000 レコードの制限があり、レコードは先入れ先出し (FIFO) のシーケンスで保持されます。

Stream Analytics を Azure Cosmos DB に出力することもできます。 これは、詳細データを格納するための別のアプローチです。 このアプローチを使用して、Stream Analytics ジョブから Azure Cosmos DB にデータを保存できます。 そのデータは、顧客資産の Dynamics 365 ID を使用して拡張することもできます。 これにより、Dynamics 365 Azure Cosmos DB 仮想エンティティ プロバイダーを使用して、モデル駆動のユーザー エクスペリエンスにおける詳細テレメトリを表示することができます。 デバイス詳細データを Dynamics 365 Field Service 内で IoT アラートまたは顧客資産レコードのコンテキストで表示できます。

独自の要件に合わせて Connected Field Service テンプレート アプリケーションをカスタマイズする必要がある場合は、取り込まれたデバイス詳細データの格納と処理のフローを検討します。 IoT Hub から Stream Analytics ジョブまで多くの拡張ポイントがあり、詳細データをタップして保存することができます。これらのデータは、今後の分析に役立ち、スタッフが IoT 通知に対応するのに役立ちます。