Saat Perangkat mengirimkan pesan dalam format kustom ke topik kustom yang mencakup tag penguraian ?_sn=default, Platform IoT akan memanggil skrip penguraian pesan tersebut. Skrip ini mentransformasikan data kustom menjadi struktur JSON, lalu meneruskan data tersebut ke sistem bisnis downstream. Topik ini menjelaskan cara mengirimkan skrip penguraian pesan melalui Konsol Platform IoT untuk mengurai data dalam format kustom.
Penggunaan dan batasan
Hanya Perangkat yang terhubung melalui Message Queuing Telemetry Transport (MQTT) yang mendukung penguraian pesan topik kustom.
Skrip hanya mengurai data yang dilaporkan oleh Perangkat ke Platform IoT, bukan data yang dikirim dari cloud ke Perangkat.
Skrip mengurai muatan (payload) pesan upstream dan mengembalikan muatan yang telah diurai.
Topik pesan tetap tidak berubah setelah penguraian. Misalnya, pesan yang dikirim ke
/${productKey}/${deviceName}/user/updatetetap berada di topik yang sama setelah diurai.
Tag penguraian
Saat mengonfigurasi Perangkat, tambahkan tag penguraian ?_sn=default di akhir topik kustom yang digunakan untuk menerbitkan pesan.
Platform IoT hanya mengurai pesan yang diterbitkan ke topik yang mengandung tag penguraian.
Sebagai contoh, jika pesan yang dikirim ke topik /${productKey}/${deviceName}/user/update harus diurai ke format JSON, Anda harus mengonfigurasi topik tersebut sebagai /${productKey}/${deviceName}/user/update?_sn=default saat mengembangkan logika sisi Perangkat.
Saat membuat topik kustom di Konsol Platform IoT, jangan tambahkan tag penguraian ke definisi topik.
Prosedur
Masuk ke Konsol Platform IoT.
Pada halaman Overview, temukan instans yang ingin Anda kelola, lalu klik ID instans atau nama instans tersebut.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Products, temukan Produk yang diinginkan, lalu klik View.
Pada halaman Product Details, klik tab Message Parsing.
Pilih bahasa skrip. Lalu, pada bagian Edit Script, masukkan skrip Anda di editor kode.
Bahasa skrip yang didukung
Fungsi yang harus didefinisikan
Kode contoh
JavaScript (ECMAScript 5)
transformPayload()
Python 2.7
transform_payload()
PHP 7.2
transformPayload()
CatatanJika Data Format untuk Produk tersebut adalah Pass-through/Custom, Anda juga harus menulis skrip untuk mengurai pesan model Thing Specification Language (TSL). Untuk informasi selengkapnya, lihat Kirimkan skrip penguraian pesan model TSL.
Uji skrip tersebut.
Pada bagian Input Simulation, atur Simulation Type ke Custom, lalu pilih Perangkat dan topik.
Masukkan data simulasi yang dilaporkan oleh Perangkat, lalu klik Execute.
Setelah memastikan skrip berfungsi sesuai harapan, klik Submit untuk mengirimkan skrip ke Platform IoT.
Opsi: Perbarui skrip penguraian pesan
Setelah mengirimkan skrip penguraian pesan, Anda dapat kembali ke tab Message Parsing untuk memodifikasi atau menghapus skrip tersebut. Ikuti langkah-langkah pada bagian Prosedur untuk menguji dan mengirimkan perubahan Anda. Perubahan akan berlaku dalam waktu sekitar satu menit dan berlaku untuk semua Perangkat—baik yang sudah ada maupun yang baru—yang terkait dengan Produk tersebut.
Jika Anda memodifikasi dan mengirim ulang skrip, Anda juga harus memperbarui logika bisnis terkait untuk layanan penguraian pesan. Jika tidak, layanan Anda mungkin terganggu.
Jika Anda menghapus skrip, layanan penguraian pesan untuk Perangkat yang terkait dengan Produk tersebut akan menjadi tidak tersedia, yang dapat mengganggu layanan Anda.
Lakukan dengan hati-hati.
Referensi
- Untuk informasi dasar seperti alur penguraian pesan, lihat Apa itu penguraian pesan?.
Untuk informasi tentang cara mengurai data model TSL dalam format Pass-through/Custom, lihat Kirimkan skrip penguraian pesan model TSL.
- Untuk informasi tentang pemanggilan API guna mengirim pesan ke Perangkat, lihat API untuk model TSL dan API untuk komunikasi pesan.