データ プロセッサを使用して MQTT ブローカーにデータを発行する

重要

Azure Arc によって有効にされる Azure IoT Operations Preview は、 現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

一般公開リリースが利用可能になった場合は、新しい Azure IoT Operations インストールをデプロイする必要があります。プレビュー インストールをアップグレードすることはできません。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

MQ 宛先を使用して、処理されたメッセージを MQTT ブローカー インスタンスなどの MQTT ブローカーにエッジに発行します。 データ プロセッサは MQTT v5.0 を使用して MQTT ブローカーに接続されます。 変換先では、それらを受信したステージで MQTT ブローカーにメッセージが発行されます。 MQ の変換先では、バッチ処理はサポートされません。

前提条件

宛先パイプライン ステージを構成して使用するには、オプションのデータ プロセッサ コンポーネントを含むデータ プロセッサのデプロイ済みインスタンスが必要です。

変換先ステージを構成する

MQ 変換先ステージの JSON 構成で、ステージの詳細を定義します。 ステージを作成するには、フォーム ベースの UI を使用するか、[詳細設定] タブで次の JSON 構成を指定します。

フィールド タイプ 内容 必要 Default
名前 String データ プロセッサ UI に表示する名前。 はい - MQTT broker output
説明 String ステージの実行内容を示すわかりやすい説明。 いいえ Write to topic default/topic1
ブローカー String ブローカーのアドレス。 はい - mqtt://mqttEndpoint.cluster.local:1111
認証 String MQTT ブローカーに接続するための認証の詳細。 None/Username/Password/Service account token (SAT) はい Service account token (SAT) Username/Password
ユーザー名 String AuthenticationUsername/Password に設定されている場合に使用するユーザー名。 いいえ - myusername
Password String AuthenticationUsername/Password に設定されている場合に使用するパスワードのシークレットの参照 いいえ - mysecret
トピック 静的/動的 トピックの定義。 型が静的の場合は文字列、動的の場合は jq パス はい - ".topic"
データ形式1 String メッセージをシリアル化する形式 はい - Raw
ユーザー プロパティ キーと値のペアの一覧 各 MQTT メッセージで設定するカスタム ユーザー プロパティの一覧。 静的な情報やデータ (各メッセージからの) を含めることができます。 いいえ []

| 再試行 | 再試行 | 使用する再試行ポリシー。 | いいえ | default | fixed |

1Data 形式: データ プロセッサの組み込みシリアライザーを使用して、MQTT ブローカーにメッセージを発行する前に、メッセージを次の Formats にシリアル化します。

  • Raw
  • JSON
  • JSONStream
  • CSV
  • Protobuf
  • MessagePack
  • CBOR

シリアル化が必要ない場合は Raw を選択します。 [Raw] では、現在の形式でデータが MQTT ブローカーに送信されます。

サンプル構成

次の JSON 例は、MQ pipelineOutput トピックにメッセージ全体を書き込む MQ 変換先ステージの完全な構成を示しています:

{
    "displayName": "MQ - 67e929",
    "type": "output/mqtt@v1",
    "viewOptions": {
        "position": {
            "x": 0,
            "y": 992
        }
    },
    "broker": "tls://aio-mq-dmqtt-frontend:8883",
    "qos": 1,
    "authentication": {
        "type": "serviceAccountToken"
    },
    "topic": {
        "type": "static",
        "value": "pipelineOutput"
    },
    "format": {
        "type": "json",
        "path": "."
    },
    "userProperties": [],
    "retry": {
        "type": "fixed",
        "interval": "20s",
        "maxRetries": 4
    }
}

この構成は次のことを定義します。

  • サービス アカウント トークンを使用して認証が完了しています。
  • トピックは pipelineOutput という静的な文字列です。
  • 出力形式は JSON です。
  • データ プロセッサのメッセージ全体が確実に MQ に書き込まれるように、形式のパスは . です。 ペイロードのみを書き込む場合は、「path」を「payload」に変更します。

次の例は、MQ 変換先ステージへの入力メッセージのサンプルを示しています:

{
  "payload": {
    "Batch": 102,
    "CurrentTemperature": 7109,
    "Customer": "Contoso",
    "Equipment": "Boiler",
    "IsSpare": true,
    "LastKnownTemperature": 7109,
    "Location": "Seattle",
    "Pressure": 7109,
    "Timestamp": "2023-08-10T00:54:58.6572007Z",
    "assetName": "oven"
  },
  "qos": 0,
  "systemProperties": {
    "partitionId": 0,
    "partitionKey": "quickstart",
    "timestamp": "2023-11-06T23:42:51.004Z"
  },
  "topic": "quickstart"
}