IoT Platform のデータ圧縮機能を使用すると、IoT Platform とデバイス間で送信されるデータを圧縮できます。メッセージを圧縮することで、デバイストラフィックを削減し、送信速度を向上させることができます。このトピックでは、データ圧縮機能の使用方法について説明します。
制限事項
データ圧縮機能は、Standard 版および Exclusive 版 Enterprise Edition インスタンスでのみ使用できます。
データ圧縮機能は、Message Queuing Telemetry Transport(MQTT)を介して IoT Platform に接続されているデバイスでのみ使用できます。
デバイスの最大 20 個のトピックのデータを圧縮または解凍できます。トピックの名前にはワイルドカード文字を含めることはできません。
データは、deflate 圧縮アルゴリズムを使用して、
GZIP形式に圧縮されます。圧縮するデータのサイズは 1 MB を超えることはできません。
背景情報
説明
データ圧縮機能は、IoT Platform とデバイス間の通信に使用されるトピックに基づいて実装されます。IoT Platform は、トピックのデータを自動的に圧縮および解凍します。ユーザー側の業務システムは、プロセスの詳細を取得する必要はありません。
MQTT メッセージのペイロードのみを圧縮できます。ペイロードは GZIP 形式に圧縮されます。
デバイスに対してデータを圧縮するトピックを指定できます。ほとんどの場合、大きなデータパッケージを含むトピックのデータを圧縮する必要があります。

プロセス
デバイスは、データを圧縮または解凍する必要のあるトピックを送信します。
デバイスは圧縮されたデータを送信するか、IoT Platform は圧縮されたデータを送信します。

圧縮が必要なデータのトピックを送信する
デバイスはトピックを 1 回だけ送信します。デバイスが再起動した後も、トピックは変更されません。
トピックを送信する
接続方法
トピック
MQTT 経由の接続
/sys/${productKey}/${deviceName}/codec/topic/updateMQTT ゲートウェイを使用した接続
$iot/things/codec/topic/updateデバイスがトピックに送信するメッセージのペイロードの形式は、使用される接続方法に関係なく変更されません。ペイロードの例:
{ "id":1, "version": 1.0, "params": [ { "topic": "/productKey/deviceName/user/update", "operation": "compress", "format": "gzip" }, { "topic": "/productKey/deviceName/user/test", "operation": "decompress", "format": "gzip" } ] }パラメーター
説明
topic
圧縮されるメッセージを受信するトピックの名前。完全なトピックを指定する必要があります。トピックの名前にはワイルドカード文字を含めることはできません。
operation
compress:アップストリームメッセージに適用されます。IoT Platform はデータを圧縮して送信します。
decompress:ダウンストリームメッセージに適用されます。IoT Platform はデータを解凍して転送します。
format
圧縮形式。値を
.gzipに設定します。レスポンスパラメーター
接続方法
トピック
MQTT 経由の接続
/sys/${productKey}/${deviceName}/codec/topic/update_replyMQTT ゲートウェイを使用した接続
$iot/things/codec/topic/update_reply{ "id": 1, "version": 1.0, "code": 200, "message": "success" }パラメーター
説明
code
200: 呼び出しは成功しました。
その他の値:呼び出しは失敗しました。
message
返されたコードの説明。
圧縮されたデータを送信する
アップストリームメッセージ:デバイスは gzip ツールを使用してメッセージのペイロードを圧縮し、メッセージを送信します。その後、IoT Platform はメッセージを解凍します。
ダウンストリームメッセージ:IoT Platform は、gzip ツールを使用して圧縮されたメッセージをデバイスに送信します。デバイスはメッセージのペイロードを解凍し、メッセージを業務システムに転送します。
詳細については、「例」をご参照ください。