Azure IoT Operationsでは、データを処理およびルーティングする 2 つの方法 (data フローと data フロー グラフが提供されます。 どちらも共有インフラストラクチャ (エンドポイント、プロファイル、ソース/宛先構成) を使用しますが、パイプラインの形状、変換機能、エンドポイントのサポートが異なります。
データ フローとは
データ フローは、オプションの変換を使用してソースから変換先にデータを移動する単純な線形パイプラインです。 変換ステージでは、エンリッチ、フィルター、マップの 3 つの操作が固定順序で実行されます。 操作エクスペリエンス Web UI、Azure CLI、またはAzure Resource Manager テンプレートを使用して、データ フローを構成します。
データ フローは一般公開されており、すべてのエンドポイントの種類をサポートしています。
データ フロー グラフとは
データ フロー グラフは、定義したトポロジ内の複数の変換を接続する、構成可能なグラフ ベースのパイプラインです。 チェーン処理、分岐処理、マージ処理の手順を実行できます。 各変換は、ルールで構成する事前構築済みの処理ユニット (マップ、フィルター、ブランチ、ウィンドウ、エンリッチメント) です。 操作エクスペリエンス Web UI、Azure CLI、またはAzure Resource Manager テンプレートを使用して、データ フロー グラフを構成します。
データ フロー グラフでは、MQTT、Kafka、OpenTelemetry エンドポイントがサポートされます。
比較
| 特徴 | データ フロー | データ フロー グラフ |
|---|---|---|
| パイプライン図形 | 修正済み: エンリッチ、フィルター、マップ | 柔軟性: 任意のグラフ トポロジ |
| 変換 | マップ、フィルター、エンリッチ | マップ、フィルター、分岐、連結、ウィンドウ (集計)、エンリッチ |
| 分岐とマージ | サポートしていません | 条件で分岐し、連結を使用してマージする |
| 時間ベースの集計 | サポートしていません | avg、min、max、count のタンブリング ウィンドウ |
| エンドポイントのサポート (ソース) | MQTT、Kafka | MQTT、Kafka、OpenTelemetry |
| エンドポイントのサポート (宛先) | MQTT、Kafka、ADLS、Fabric、ADX、ローカル ストレージ、OpenTelemetry | MQTT、Kafka、OpenTelemetry |
| 動的な宛先トピック |
${inputTopic}(ソーストピックの「パススルー」) |
$metadata.topic
+
${outputTopic} (コンテンツ ベースのルーティング) |
| Schema | ソースと変換について | ノード接続時 |
| ディスクの永続化 | サポートされている | サポートされている |
共有インフラストラクチャ
データ フローとデータ フロー グラフは、次の内容を共有します。
-
エンドポイント: どちらも、
DataflowEndpointリソースを使用して MQTT ブローカー、Kafka、ストレージ、およびその他のサービスに接続します。 「エンドポイントの準備」を参照してください。 -
プロファイル: どちらも、スケーリングとインスタンス構成の
DataflowProfileを参照します。 データ フロー プロファイルの管理を参照してください。 - ソース構成: どちらも、同じソース エンドポイント オプション (既定のブローカー、資産、カスタム エンドポイント) とデータ ソース (トピック) の構成をサポートします。 ソースの構成を参照してください。
- 宛先の構成: 静的トピックと動的宛先トピックの両方がサポートされます。 宛先を構成する方法については、こちらを参照してください。
-
ディスクの永続化: 両方とも、再起動後も
requestDiskPersistenceをサポートします。 ディスク永続化の構成を参照してください。
どれをいつ使用するか
次の場合にデータ フローを使用します。
- 基本的な変換を含む単純なソースから宛先へのパイプラインが必要です
- ストレージ エンドポイント (ADLS、Fabric、ADX、ローカル ストレージ) にデータを送信する必要がある
- 一般公開された運用対応ソリューションが必要です
データ フロー グラフは、次の場合に使用します。
- 条件に基づいて異なる処理パスにメッセージを分岐する必要がある
- 時間ベースの集計 (タンブリング ウィンドウ) が必要です
- カスタム トポロジには複数のチェーン変換が必要です
- MQTT、Kafka、または OpenTelemetry エンドポイントのみを使用している
サポートされているエンドポイントの種類を使用する新しいプロジェクトでは、データ フロー グラフをお勧めします。 データ フローはすべてのシナリオで完全にサポートされ、さまざまな種類のエンドポイントをサポートします。