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 |
| エンドポイントのサポート (宛先) | 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のエンドポイントのみを扱っています。
サポート済みエンドポイントタイプを使用する新規プロジェクトには、データフローグラフを活用してください。 データ フローはすべてのシナリオで完全にサポートされ、さまざまな種類のエンドポイントをサポートします。