Anda dapat mengonfigurasi parser untuk meneruskan data yang telah diproses ke Lindorm. Topik ini menjelaskan proses penerusan data. Dalam contoh ini, topik komunikasi Thing Specification Language (TSL) digunakan sebagai topik sumber.
Prasyarat
Sebuah instans IoT Platform yang datanya dapat diteruskan ke Lindorm telah dibuat di wilayah yang mendukung penerusan data ke Lindorm. Untuk informasi lebih lanjut mengenai wilayah yang mendukung penerusan data ke Lindorm, lihat Wilayah.
Sumber data bernama DataSource telah dibuat, dan topik komunikasi TSL telah ditambahkan ke sumber data tersebut. Untuk informasi lebih lanjut, lihat Membuat sumber data.
Instans Lindorm telah dibuat di Konsol Lindorm, dan pengaturannya telah dikonfigurasi sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Membuat instans.
PentingHanya penerusan data intra-wilayah yang didukung. Instans Lindorm harus berada di wilayah yang sama dengan instans IoT Platform.
Hanya instans Lindorm bertipe pay-as-you-go dan subscription yang didukung. Saat membeli instans Lindorm, Anda harus mengatur parameter Time Series Engine Nodes pada bagian Select Engine Type ke nilai yang lebih besar dari atau sama dengan 1.
LindormTSDB SDK untuk native Java telah diintegrasikan. Database deret waktu, tabel, serta akun dan kata sandi yang sesuai untuk mengelola database telah dibuat. Pengaturan yang memungkinkan data deret waktu disimpan di beberapa instans Lindorm telah dikonfigurasi. Untuk informasi lebih lanjut, lihat Tutorial: Menggunakan Java Native SDK untuk terhubung ke dan menggunakan LindormTSDB.
Informasi latar belakang
Setelah tujuan data dikonfigurasi, sistem secara otomatis mengonfigurasi pengaturan berikut untuk meneruskan data perangkat ke Lindorm menggunakan mesin aturan IoT Platform.
IoT Platform menempati dua alamat IP dari vSwitch tempat instans Lindorm terhubung. Blok CIDR IPv4 vSwitch tersebut ditambahkan ke daftar putih instans Lindorm.
Grup keamanan terkelola dibuat di virtual private cloud (VPC) tempat instans Lindorm ditempatkan. Nama default grup keamanan dimulai dengan sg-nsm-.
Dalam contoh ini, data berikut ditulis ke database deret waktu:
timestamp: Panggil fungsi timestamp() untuk mendapatkan waktu saat perangkat mengirimkan data.
tags: Panggil fungsi
deviceName()untuk mendapatkan DeviceName. Tag{"device_id": deviceName(), "region": "cn-shanghai"}ditulis ke database.fields: Gunakan ekspresi JSONPath untuk mendapatkan nilai properti Temperature dan Humidity yang dikirimkan oleh perangkat. Nilai-nilai tersebut ditulis ke database.
Batasan
Anda hanya dapat menggunakan versi baru fitur penerusan data untuk meneruskan data ke Lindorm.
Membuat tujuan data
- Masuk ke Konsol IoT Platform.
Pada halaman Overview, temukan instans yang ingin Anda kelola lalu klik ID instans atau nama instans tersebut.
- Di panel navigasi sebelah kiri, pilih .
Di pojok kanan atas halaman Data Forwarding, klik Go to New Version untuk beralih ke versi baru.
CatatanJika Anda telah melakukan langkah ini, halaman Data Forwarding versi baru akan muncul setelah Anda memilih Message Forwarding > Data Forwarding.
Klik Data Destination. Pada tab Data Destination, klik Create Data Destination.
Dalam Create Data Destination dialog box, masukkan nama untuk tujuan data tersebut. Contoh: DataPurpose. Konfigurasi parameter lainnya lalu klik OK. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Operation
Pilih Store Data to ApsaraDB for Lindorm.
Authorize
Klik Authorize. Sistem secara otomatis membuat peran dan kebijakan yang memberi otorisasi kepada IoT Platform untuk menulis data ke Lindorm. Untuk informasi lebih lanjut, lihat AliyunServiceRoleForIoTRuleengineLindorm.
CatatanJika IoT Platform sudah diberi otorisasi, lewati langkah ini.
Region
Tentukan wilayah tempat instans IoT Platform berada.
Lindorm Instance
Tentukan instans Lindorm yang telah Anda buat di VPC.
Database
Tentukan nama database yang ingin Anda gunakan untuk menerima data. Database tersebut harus termasuk dalam instans Lindorm.
Table Name
Tentukan nama tabel yang ingin Anda gunakan untuk menerima data. Tabel tersebut harus termasuk dalam database.
Account
Tentukan nama akun dan kata sandi yang sesuai yang ingin Anda gunakan untuk mengelola database deret waktu.
Untuk informasi lebih lanjut mengenai akun dan kata sandi pengelolaan database, lihat User and permission management.
Password
Mengonfigurasi dan menjalankan parser
Buat parser bernama DataParser. Untuk informasi lebih lanjut, lihat Membuat parser.
Pada halaman Parser Details, asosiasikan parser dengan sumber data yang telah dibuat.
Pada langkah Data Source wizard, klik Associate Data Source.
Pada kotak dialog yang muncul, pilih DataSource dari daftar drop-down Data Source, lalu klik OK.
Pada halaman Parser Details, asosiasikan parser dengan tujuan data yang telah dibuat.
Klik Data Destination dalam wizard. Di bagian Data Destination, klik Associate Data Destination.
Pada kotak dialog yang muncul, pilih DataPurpose dari daftar drop-down Data Destination, lalu klik OK.
Di bagian Data Destination, lihat dan simpan data destination ID. Dalam contoh ini, ID-nya adalah 1000.
Saat menulis skrip parser, Anda harus menggunakan data destination ID.
Pada halaman parser details, klik Parser Script.
Di editor kode, masukkan skrip. Untuk informasi lebih lanjut tentang cara memodifikasi skrip, lihat Script syntax.
Untuk informasi lebih lanjut mengenai parameter fungsi, lihat Functions.
// Panggil fungsi payload() untuk mendapatkan data yang dikirimkan oleh perangkat dan mengonversi data tersebut menjadi data berformat JSON. var data = payload("json"); // Filter nilai suhu dan kelembapan yang dikirimkan. var h = data.items.Humidity.value; var t = data.items.Temperature.value; var fields = {"temperature":t, "humidity":h}; var tags = {"device_id": deviceName(), "region": "cn-shanghai"}; var timestamp = timestamp(); // Teruskan data TSL yang dikirimkan. writeLindorm(1000, timestamp, tags, fields);CatatanJika tipe data bidang tabel yang sesuai di database Lindorm adalah Double tetapi tipe data nilai kelembapan yang dikirimkan oleh perangkat adalah INT, Anda harus menggunakan kode berikut untuk mengubah tipe data bidang tersebut menjadi Double agar penerusan data berhasil:
varfields={ "temperature":t, "humidity":{ "type":"DOUBLE", "value":h } };Klik Debugging. Pada kotak dialog yang muncul, pilih produk dan perangkat, tentukan topik, lalu masukkan data muatan untuk memeriksa apakah skrip berjalan sesuai harapan.
Gambar berikut menunjukkan parameter-parameternya.

Hasil berikut menunjukkan bahwa skrip berhasil dieksekusi:

Klik Publish.
Buka tab Parser pada halaman Data Forwarding. Temukan parser DataParser lalu klik Start di kolom Actions untuk menjalankan parser tersebut.
Simulasikan perangkat untuk mengirimkan data TSL dan lihat hasil penerusan data tersebut. Untuk informasi lebih lanjut, lihat Simulasi perangkat.
Setelah data yang dikirimkan oleh perangkat simulasi diteruskan ke database deret waktu Lindorm, Anda dapat memanggil operasi kueri SDK LindormTSDB untuk mendapatkan data yang telah diteruskan tersebut.