Fitur kompresi data dari IoT Platform memungkinkan Anda menekan data yang ditransmisikan antara IoT Platform dan perangkat. Dengan menekan pesan, Anda dapat mengurangi lalu lintas perangkat serta mempercepat kecepatan transmisi. Topik ini menjelaskan cara menggunakan fitur kompresi data.
Batasan
Fitur kompresi data hanya tersedia untuk instance Standard dan Exclusive Enterprise Edition.
Fitur kompresi data hanya tersedia untuk perangkat yang terhubung ke IoT Platform melalui Message Queuing Telemetry Transport (MQTT).
Anda dapat menekan atau mendekompresi data hingga 20 topik dari sebuah perangkat. Nama topik tidak boleh berisi karakter wildcard.
Data dikompresi ke dalam format
GZIPmenggunakan algoritma kompresi deflate.Data yang ingin dikompresi tidak boleh melebihi ukuran 1 MB.
Informasi latar belakang
Deskripsi
Fitur kompresi data diimplementasikan berdasarkan topik yang digunakan untuk komunikasi antara IoT Platform dan perangkat. IoT Platform secara otomatis menekan dan mendekompresi data dari topik tersebut. Sistem bisnis sisi pengguna tidak perlu mengetahui detail proses ini.
Hanya payload dari pesan MQTT yang dapat dikompresi. Payload tersebut dikompresi ke dalam format GZIP.
Anda dapat menentukan topik yang datanya ingin dikompresi untuk sebuah perangkat. Biasanya, data dari topik yang berisi paket data besar perlu dikompresi.

Proses
Perangkat mengirimkan topik yang datanya perlu dikompresi atau didekompresi.
Perangkat mengirimkan data terkompresi atau IoT Platform mengirimkan data terkompresi.

Kirimkan topik yang datanya perlu dikompresi
Sebuah perangkat hanya perlu mengirimkan topik sekali. Setelah perangkat di-restart, topik tetap tidak berubah.
Kirimkan topik
Metode koneksi
Topik
Koneksi melalui MQTT
/sys/${productKey}/${deviceName}/codec/topic/updateKoneksi menggunakan gateway MQTT
$iot/things/codec/topic/updateFormat payload dari pesan yang dikirimkan oleh perangkat ke topik tetap tidak berubah, terlepas dari metode koneksi yang digunakan. Contoh payload:
{ "id":1, "version": 1.0, "params": [ { "topic": "/productKey/deviceName/user/update", "operation": "compress", "format": "gzip" }, { "topic": "/productKey/deviceName/user/test", "operation": "decompress", "format": "gzip" } ] }Parameter
Deskripsi
topik
Nama topik yang menerima pesan yang akan dikompresi. Anda harus menentukan topik lengkap. Nama topik tidak boleh berisi karakter wildcard.
operasi
compress: berlaku untuk pesan upstream. IoT Platform menekan dan mengirimkan data.
decompress: berlaku untuk pesan downstream. IoT Platform mendekompresi dan meneruskan data.
format
Format kompresi. Atur nilainya menjadi
.gzip.Parameter respons
Metode koneksi
Topik
Koneksi melalui MQTT
/sys/${productKey}/${deviceName}/codec/topic/update_replyKoneksi menggunakan gateway MQTT
$iot/things/codec/topic/update_reply{ "id": 1, "version": 1.0, "code": 200, "message": "success" }Parameter
Deskripsi
kode
200: Panggilan berhasil.
Nilai lainnya: Panggilan gagal.
pesan
Deskripsi kode yang dikembalikan.
Transmisikan data terkompresi
Pesan upstream: Perangkat menggunakan alat gzip untuk menekan payload pesan dan mengirimkannya. Kemudian, IoT Platform mendekompresi pesan tersebut.
Pesan downstream: IoT Platform mengirimkan pesan yang telah dikompresi menggunakan alat gzip ke perangkat. Perangkat mendekompresi payload pesan dan meneruskan pesan ke sistem bisnis.
Untuk informasi lebih lanjut, lihat Contoh.