すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:ユーザー プロパティ

最終更新日:Mar 26, 2025

このトピックでは、MQTT 5.0 のユーザー プロパティ機能について説明します。

背景情報

MQTT 5.0 パケットは、プロパティ機能をサポートしています。キーと値の形式で追加のプロパティをコントロール パケットに追加できます。セッションの有効期限、メッセージの有効期限、リクエストレスポンス パターンなど、MQTT 5.0 の複数の機能は、ユーザー プロパティ機能に基づいて実装されています。ユーザー プロパティはプロパティの一種であり、HTTP ヘッダーに似ています。キーと値の形式で UTF-8 文字列を含む、完全なカスタム ユーザー プロパティを設定できます。ハートビート パッケージを除くすべての MQTT 5.0 コントロール パケットに対して、ユーザー プロパティを設定できます。デバイスとアプリケーション間で追加のカスタム情報を送信するようにユーザー プロパティを設定できます。例:

Topic:  “sys/${productkey}/${devicename}/update”
Payload:                     "hello world!"
UserProperty: "key1_timestamp:value1_12345" // ユーザー プロパティ: "key1_timestamp:value1_12345"
UserProperty:       "key2_msgid:value2_123" // ユーザー プロパティ: "key2_msgid:value2_123"

制限

  • 最大 20 個のユーザー プロパティを指定できます。

  • IoT Platform は、Connect/Publish パケットのユーザー プロパティのみを処理します。

シナリオ

メッセージ コンテンツ フォーマット

ユーザー プロパティを使用して、ペイロードを記述できます。このようにして、1 つのトピックでさまざまな種類のペイロードをサポートでき、異なるバッチのデバイスを管理できます。

image..png

メッセージのセグメント化

MQTT は、小さなパケットが使用されるシナリオに適しています。MQTT 5.0 を使用すると、デバイスは IoT Platform との最大パッケージ長をネゴシエートできます。最大パケット長がビジネス要件を満たせない場合は、ユーザー プロパティを使用してパケットをセグメント化できます。次の図は、デバイス A がメッセージを送信するときに、メッセージがメッセージ A とメッセージ B にセグメント化されることを示しています。ビジネス サーバーは、サブメッセージのユーザー プロパティを読み取ってサブメッセージを識別し、サブメッセージを結合します。詳細については、「サーバー側のサブスクリプション」をご参照ください。

image..png

メッセージの転送

ユーザー プロパティを使用して、転送されるメッセージのタイプと宛先を指定できます。このようにして、ルールエンジンはユーザー プロパティを識別してメッセージを転送できます。次の図は、デバイス A が異なる種類のメッセージを送信するときに、UserProperty パラメーターを設定してデータ転送先を指定する方法を示しています。詳細については、「概要」をご参照ください。

image..png