データ フローを使用すると、データを移動、変換、エンリッチするためのデータ パスの設定が簡略化されます。 データ フローを使用すると、さまざまなデータ ソースを接続し、データ操作を実行できます。 データ フロー コンポーネントは、Azure Arc拡張機能としてデプロイするAzure IoT Operationsの一部です。 Kubernetes カスタム リソース定義 (CRD) を使用してデータ フローを構成します。
次のようなさまざまなユース ケースの構成を記述できます。
- データを変換し、MQTT に送り返します。
- データを変換してクラウドに送信します。
- 変換なしでクラウドまたはエッジにデータを送信します。
データ フローは、IoT Operations インスタンスをデプロイするリージョンに限定されるわけではありません。 データ フローを使用して、さまざまなリージョンのクラウド エンドポイントにデータを送信できます。
主要な機能
このセクションでは、データ フローの主な機能について説明します。
データの処理とルーティング
データ フローを使用すると、メッセージのインジェスト、処理、指定されたシンクへのルーティングを行うことができます。 以下を指定できます。
- ソース: メッセージの取り込み元。
- 宛先: MQTT エンドポイントのメッセージ コンテンツに基づく動的トピック ルーティングのサポートを含む、メッセージのドレイン先。
- 変換 (省略可能): データ処理操作の構成。
変換機能
処理中にデータに変換を適用して、さまざまな操作を実行できます。 この操作には、次のものが含まれます。
- 新しいプロパティの計算: メッセージ内の既存のプロパティに基づく。
- プロパティの名前変更: データを標準化または明確にします。
- 単位の変換: 異なる測定単位に値を変換します。
- 値の標準化: プロパティ値をユーザー定義範囲にスケーリングします。
- データのコンテキスト化: メッセージに参照データを追加して、情報をエンリッチメントし、分析情報を促進します。
構成とデプロイ
Kubernetes CRD を使用して構成を指定します。 この構成に基づいて、データ フロー オペレーターはデータ フロー インスタンスを作成し、高可用性と信頼性を確保します。
メリット
- 簡略化されたセットアップ: データ ソースと変換先を簡単に接続できます。
- 柔軟な変換: さまざまなデータ操作を実行します。
- スケーラブルな構成: スケーラブルで管理しやすい構成には、Kubernetes CRD を使用します。
- 高可用性: Kubernetes ネイティブ リソースによって信頼性が確保されます。
データ フローを使用すると、データ パスを効率的に管理できます。 運用上のニーズに合わせてデータが正確に送信、変換、エンリッチされることを保証できます。
スキーマ レジストリ
Azure Device Registry によって提供される機能であるスキーマ レジストリは、クラウドとエッジの同期されたリポジトリです。 スキーマ レジストリは、エッジ資産からのメッセージの定義を格納し、エッジでこれらのスキーマにアクセスするための API を公開します。 OPC UA 用コネクタのような南向きコネクタでは、メッセージ スキーマを作成してスキーマ レジストリに追加したり、操作エクスペリエンス Web UI にスキーマをアップロードしたりできます。
データ フローでは、メッセージ スキーマを使用して、送信先エンドポイントで想定される形式にメッセージを変換します。
詳細については、「 メッセージ スキーマについて」を参照してください。
ローカル MQTT ブローカー エンドポイント メッセージ ストレージ
ローカル MQTT ブローカーをデータ フローのソース エンドポイントとして使用すると、データ フローと宛先エンドポイントの間の接続が失われたときに、システムによってメッセージが格納されます。 シナリオの例として、既定のローカル MQTT ブローカーをソース エンドポイントとして使用し、Azure Event Hubsを宛先エンドポイントとして使用して、データ フローを作成するとします。 データ フローとAzure Event Hubsの間の接続が失われた場合、MQTT ブローカー サブスクライバー メッセージ キューにメッセージが格納されます。 接続が復元されると、データ フローはサブスクライバー メッセージ キュー内のメッセージをAzure Event Hubsに送信します。
ローカル MQTT ブローカー メッセージ キューは、既定でメモリに格納されます。 ディスクにバックアップされたメッセージ バッファー構成を使用して、MQTT ブローカーを構成してディスクにメッセージを格納できます。 MQTT ブローカー構成の詳細については、「 高可用性、スケーリング、およびメモリ使用量のためのブローカー設定の構成」を参照してください。 ディスクに基づくメッセージ バッファーの詳細については、「 ディスクベースのメッセージ バッファーの動作を構成する」を参照してください。