Anda dapat menggunakan fitur penerusan data dari mesin aturan untuk meneruskan data yang telah diproses ke instance ApsaraDB RDS guna penyimpanan. Topik ini menjelaskan proses penerusan data. Dalam contoh ini, topik komunikasi Thing Specification Language (TSL) digunakan sebagai topik sumber.
Prasyarat
Sebuah instance IoT Platform yang datanya dapat diteruskan ke ApsaraDB RDS harus dibuat di wilayah yang mendukung penerusan data ke ApsaraDB RDS. Untuk informasi lebih lanjut tentang wilayah yang mendukung penerusan data ke ApsaraDB RDS, lihat Wilayah.
Sumber data bernama DataSource harus dibuat dan topik komunikasi TSL ditambahkan ke sumber data. Untuk informasi lebih lanjut, lihat Buat Sumber Data.
- Sebuah instance ApsaraDB RDS harus dibuat di wilayah tempat instance IoT Platform Anda berada. Mesin database dari instance tersebut harus berupa MySQL atau Microsoft SQL Server, dan tipe jaringan instance tersebut harus VPC. Basis data dan tabel juga harus sudah dibuat. Untuk informasi lebih lanjut tentang cara menggunakan ApsaraDB RDS, lihat Dokumentasi ApsaraDB RDS.
Informasi Latar Belakang
Setelah Anda mengonfigurasi tujuan data, konfigurasi berikut akan selesai secara otomatis. Kemudian, Anda dapat meneruskan data perangkat ke instance ApsaraDB RDS dengan menggunakan mesin aturan IoT Platform.- IoT Platform menempati dua alamat IP dari vSwitch tempat instance ApsaraDB RDS berada. Blok CIDR IPv4 dari vSwitch ditambahkan ke daftar putih instance ApsaraDB RDS.
- Sebuah kelompok keamanan terkelola dibuat di virtual private cloud (VPC) tempat instance ApsaraDB RDS berada. Nama default kelompok keamanan dimulai dengan sg-nsm-.
Batasan
- Penerusan data hanya didukung antara instance IoT Platform dan instance ApsaraDB RDS yang berada di wilayah yang sama. Sebagai contoh, Anda hanya dapat meneruskan data dari instance IoT Platform di wilayah China (Shanghai) ke tabel ApsaraDB RDS yang berada di wilayah China (Shanghai).
- Anda hanya dapat meneruskan data ke instance ApsaraDB RDS yang berada di VPC.
- Anda dapat meneruskan data ke instance MySQL dan SQL Server.
- Penerusan data didukung antara basis data standar dan basis data istimewa.
- Anda hanya dapat meneruskan data dalam format JSON.
Catatan Penggunaan
Anda dapat menggunakan versi baru atau versi sebelumnya dari fitur penerusan data untuk meneruskan data ke ApsaraDB RDS. Untuk informasi lebih lanjut tentang contoh penggunaan versi sebelumnya dari fitur penerusan data, lihat Meneruskan Data ke ApsaraDB RDS.
Buat Tujuan Data
- Masuk ke Konsol IoT Platform.
Di halaman Overview, klik All environment. Di tab Semua Lingkungan, temukan instance yang ingin Anda kelola dan klik ID instance atau nama instance.
- Di panel navigasi 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 Penerusan Pesan > Penerusan Data.
- Klik tab Data Destination. Di tab ini, klik Create Data Destination.
Di kotak dialog Create Data Destination, masukkan nama untuk tujuan data. Contoh: DataPurpose. Konfigurasikan parameter lainnya dan klik OK. Tabel berikut menjelaskan parameter.
Parameter
Deskripsi
Operasi
Pilih Store Data to ApsaraDB RDS.Wilayah
Pilih wilayah tempat instance IoT Platform Anda berada.Instance RDS
Pilih instance ApsaraDB RDS ke mana Anda ingin meneruskan data.Database
Masukkan nama database.Catatan Jika Anda menggunakan database istimewa, Anda harus secara manual menentukan nama database.Akun
Masukkan akun instance ApsaraDB RDS. Akun ini harus memiliki izin baca dan tulis pada database. Jika tidak, mesin aturan tidak dapat menulis data ke instance ApsaraDB RDS.Catatan Setelah mesin aturan memperoleh akun, mesin aturan hanya menulis data yang sesuai dengan aturan tertentu ke database. Tidak ada operasi tambahan yang dilakukan.Kata Sandi
Masukkan kata sandi yang digunakan untuk masuk ke instance ApsaraDB RDS.Nama Tabel
Masukkan nama tabel yang dibuat di database. Mesin aturan menulis data ke tabel.Peran
Otorisasi IoT Platform untuk menulis data ke ApsaraDB RDS.Jika Anda tidak memiliki Peran RAM, klik Create RAM Role untuk pergi ke Konsol RAM, buat peran RAM, dan kemudian berikan izin kepada peran tersebut. Untuk informasi lebih lanjut, lihat Buat Peran RAM.
Konfigurasikan dan Mulai Parser
Buat parser bernama DataParser. Untuk informasi lebih lanjut, lihat Buat Parser.
Di halaman Parser Details, asosiasikan parser dengan sumber data yang telah dibuat.
Di langkah Data Source wizard, klik Associate Data Source.
Di kotak dialog yang muncul, pilih DataSource dari daftar drop-down Data Source, lalu klik OK.
Di halaman Parser Details, asosiasikan parser dengan tujuan data yang telah dibuat.
Klik Data Destination di wizard. Di bagian Data Destination, klik Associate Data Destination.
Di kotak dialog yang muncul, pilih DataPurpose dari daftar drop-down Data Destination, lalu klik OK.
Di bagian Tujuan Data, lihat dan simpan data destination ID. Dalam contoh ini, ID adalah 1000.
Saat Anda menulis skrip parser, Anda harus menggunakan data destination ID.
- Di halaman Parser Details, klik Parser.
Di editor kode, masukkan skrip. Untuk informasi lebih lanjut tentang cara memodifikasi skrip, lihat Sintaks Skrip.
Untuk informasi lebih lanjut tentang parameter fungsi, lihat Fungsi.
Tulis data
// Panggil fungsi payload() untuk mendapatkan data yang dikirim oleh perangkat dan ubah data menjadi format JSON. var data = payload("json"); // Filter nilai suhu dan kelembapan yang dikirimkan. var h = data.items.Humidity.value; var t = data.items.Temperature.value; // Sebuah tabel ApsaraDB RDS mencakup kolom berikut: id (primary key auto-increment), deviceName, temperature, humidity, dan time. Anda dapat memanggil metode writeRds() untuk menulis nilai ke kolom menggunakan format kolom:nilai. // Konfigurasikan aturan yang dipicu jika nilai suhu lebih besar dari 38. if (t > 38) { writeRds(1000, {"deviceName":deviceName(), "temperature":t, "time":timestamp(), "humidity":h}); }Perbarui data
// Panggil fungsi payload() untuk mendapatkan data yang dikirim oleh perangkat dan ubah data menjadi format JSON. var data = payload("json"); // Filter nilai suhu dan kelembapan yang dikirimkan. var h = data.items.Humidity.value; var t = data.items.Temperature.value; // Sebuah tabel ApsaraDB RDS mencakup kolom berikut: id (primary key auto-increment), deviceName, temperature, humidity, dan time. Anda dapat memanggil metode updateRds() untuk memperbarui nilai kolom yang sesuai menggunakan format kolom:nilai. // Tentukan deviceName sebagai kolom kondisi untuk memperbarui data. var condition = "deviceName = '" + deviceName() +"'"; // Perbarui data entri yang mencakup nilai suhu dan kelembapan perangkat tertentu. Jika beberapa baris data cocok dengan kondisi, sistem secara otomatis memperbarui data dari baris pertama dalam hasil. Nilai 1 dari parameter limit menunjukkan bahwa sistem memperbarui data dari baris pertama. updateRds(1000, {"temperature":t, "time":timestamp(), "humidity":h}, condition, 1);
Klik Debugging. Di kotak dialog yang muncul, pilih produk dan perangkat, tentukan topik, lalu masukkan data payload untuk memeriksa apakah skrip berjalan seperti yang diharapkan.
Gambar berikut menunjukkan pengaturan sampel.

Jika informasi berikut dikembalikan dari metode updateRds(), skrip berjalan seperti yang diharapkan.

Klik Publish.
Pergi ke tab Parser halaman Data Forwarding. Temukan parser DataParser dan klik Start di kolom Tindakan untuk memulai parser.
- Masuk ke Konsol ApsaraDB RDS. Di halaman Data Security, buat daftar putih atau lihat daftar putih. Setelah Anda mengatur parameter, mesin aturan menambahkan alamat IP berikut ke daftar putih ApsaraDB RDS. Kemudian, mesin aturan dapat berkomunikasi dengan ApsaraDB RDS. Jika salah satu alamat IP berikut tidak ditampilkan dalam daftar putih, Anda harus menambahkan alamat IP tersebut secara manual. Untuk informasi lebih lanjut, lihat Apa itu ApsaraDB RDS?.
- China (Shanghai):
100.104.53.192/26, 100.104.148.64/26, 100.104.6.192/26, 100.104.143.128/26, 100.104.76.0/24, 100.104.73.128/26, 100.104.200.64/26, 100.104.40.64/26, 100.104.3.0/26, 100.104.29.128/26, 100.104.121.0/26, dan 100.104.84.64/26 - Singapura (Singapura): 100.104.106.0/24
- AS (Silicon Valley):
100.104.8.0/24 - AS (Virginia):
100.104.133.64/26 - Jerman (Frankfurt):
100.104.160.192/26 - Jepang (Tokyo):
100.104.160.192/26

- China (Shanghai):