全部产品
Search
文档中心

IoT Platform:Konfigurasikan aturan penerusan data

更新时间:Jul 02, 2025

Anda dapat menggunakan fitur penerusan data dari mesin aturan IoT Platform untuk meneruskan data dari topik tertentu ke topik lain atau layanan Alibaba Cloud lainnya. Topik ini menjelaskan cara mengonfigurasi aturan penerusan data. Untuk mengonfigurasi aturan penerusan data, ikuti langkah-langkah berikut: buat aturan, tulis pernyataan SQL untuk pemrosesan data, tentukan tujuan penerusan data, dan tentukan tujuan untuk pesan kesalahan jika penerusan data gagal.

Prosedur

  1. Masuk ke Konsol IoT Platform.
  2. Di halaman Overview, klik All environment. Di tab All environment, temukan instance yang ingin Anda kelola dan klik ID atau nama instance tersebut.

  3. Di panel navigasi di sebelah kiri, pilih Message Forwarding > Data Forwarding.
  4. Di halaman Data Forwarding, klik Create Rule.

    Penting

    Jika halaman Data Forwarding versi terbaru muncul, klik Back to Previous Version di pojok kanan atas halaman. Ketika halaman Data Forwarding versi sebelumnya muncul, klik Create Rule.

  5. Konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter tersebut.

    Parameter

    Deskripsi

    Nama Aturan

    Nama aturan penerusan data. Nama harus memiliki panjang 1 hingga 30 karakter, dan dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-).

    Tipe Data

    Format data yang ingin Anda proses menggunakan aturan. Nilai valid: JSON dan Binary.

    Catatan
    • Fitur penerusan data memproses data berdasarkan topik. Anda harus memilih format data dalam topik yang ingin Anda proses.

    • Jika Anda memilih Binary, aturan tidak dapat digunakan untuk memproses pesan dari topik komunikasi dasar atau topik komunikasi Thing Specification Language (TSL). Aturan juga tidak dapat digunakan untuk meneruskan data ke Tablestore (OTS) atau ApsaraDB RDS.

    Deskripsi Aturan

    Deskripsi aturan.

  6. Setelah aturan dibuat, halaman rule details akan muncul. Tulis pernyataan SQL untuk memproses pesan, tentukan tujuan penerusan data, dan tentukan tujuan untuk pesan kesalahan jika penerusan data gagal.

    1. Klik Write SQL Statement untuk menulis pernyataan SQL yang digunakan memproses bidang pesan.

      Untuk informasi lebih lanjut tentang cara menulis pernyataan SQL, lihat Pernyataan SQL dan Fungsi.

      Parameter

      Deskripsi

      Ekspresi Kueri Aturan

      Pernyataan SQL. Pernyataan SQL secara otomatis dibuat berdasarkan nilai yang Anda tentukan untuk parameter Field, Topic, dan Conditions (Opsional).

      Bidang

      Bidang pesan yang akan diproses. Parameter ini mengikuti kata kunci SELECT dalam pernyataan SQL.

      Sebagai contoh, jika Anda memasukkan deviceName() as deviceName, bidang deviceName dalam pesan dipilih. Untuk informasi lebih lanjut tentang fungsi yang dapat digunakan dalam bidang, lihat Fungsi.

      Catatan

      Data topik komunikasi dasar dan topik komunikasi TSL berada dalam format JSON Alink. Sebelum data diteruskan ke mesin aturan, data diuraikan berdasarkan model TSL yang sesuai. Untuk informasi lebih lanjut tentang penguraian data, lihat Prosedur penerusan data. Untuk informasi lebih lanjut tentang format data yang diuraikan, lihat Format data. Saat Anda menulis pernyataan SQL, tentukan bidang berdasarkan format data yang diuraikan.

      Topik

      Topik sumber pesan yang akan diproses. Parameter ini mengikuti kata kunci FROM dalam pernyataan SQL. Untuk informasi lebih lanjut tentang topik opsional, lihat tabel Topik berikut.

      Penting

      Jika Anda mengatur parameter Data Type aturan ke Binary, atur parameter ini ke Custom.

      Kondisi

      Kondisi pemicu aturan. Parameter ini mengikuti kata kunci WHERE dalam pernyataan SQL.

      Tabel 1. Topik

      Topik

      Deskripsi

      Referensi

      Custom

      Topik yang digunakan untuk meneruskan data dalam format kustom memiliki format yang sama dengan topik kustom. Formatnya adalah: /${productKey}/${deviceName}/user/${TopicShortName}.

      ${TopicShortName} menentukan kategori topik kustom, yaitu akhiran dari topik kustom.

      Nilainya dapat berisi karakter wildcard, termasuk tanda plus (+) dan tanda pagar (#).

      • Semua perangkat (+): mencakup semua perangkat dari produk yang ditentukan.

      • /user/#: Menunjukkan semua topik dari perangkat yang ditentukan.

      Gunakan topik kustom untuk komunikasi

      Device Status Change Notification

      Topik yang digunakan untuk meneruskan notifikasi saat status perangkat berubah antara online dan offline. Format: /as/mqtt/status/${productKey}/${deviceName}.

      Kirim status perangkat

      TSL Data Reporting

      Topik-topik berikut disediakan:

      • /${productKey}/${deviceName}/thing/event/property/post: Topik ini digunakan untuk meneruskan properti perangkat.

      • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post: Topik ini digunakan untuk meneruskan peristiwa perangkat.

      • /${productKey}/${deviceName}/thing/property/batch/post: Topik ini digunakan untuk meneruskan properti perangkat dalam batch.

      • /${productKey}/${deviceName}/thing/event/batch/post: Topik ini digunakan untuk meneruskan peristiwa perangkat dalam batch.

      • /${productKey}/${deviceName}/thing/downlink/reply/message: Topik ini digunakan untuk meneruskan pesan yang dikembalikan oleh perangkat sebagai respons terhadap perintah dari IoT Platform.

      Topik-topik berikut digunakan untuk mengirimkan data mentah perangkat:

      • /sys/${productKey}/${deviceName}/thing/event/property/post: Topik ini digunakan untuk mengirimkan properti perangkat.

      • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post dan /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post: Topik-topik ini digunakan untuk mengirimkan peristiwa perangkat.

      • /sys/${productKey}/${deviceName}/thing/event/property/batch/post: Topik ini digunakan untuk mengirimkan properti dan peristiwa perangkat dalam batch.

      Device Changes Throughout Lifecycle

      Topik yang digunakan untuk meneruskan pesan ketika perangkat dibuat, dihapus, dinonaktifkan, atau diaktifkan. Format: /${productKey}/${deviceName}/thing/lifecycle.

      Kirim perubahan siklus hidup

      Sub-Device Data Report Detected by Gateway

      Topik ini digunakan untuk mengirimkan dan meneruskan informasi tentang sub-perangkat baru ketika gateway mendeteksi sub-perangkat. Topik ini bersifat spesifik untuk gateway dengan format: /${productKey}/${deviceName}/thing/list/found.

      Kirim informasi tentang sub-perangkat yang terdeteksi

      Device Topological Relation Changes

      Topik yang digunakan untuk meneruskan notifikasi saat hubungan topologi antara sub-perangkat dan gateway dibuat atau dihapus. Topik ini bersifat spesifik untuk gateway. Format: /${productKey}/${deviceName}/thing/topo/lifecycle.

      Perubahan Hubungan Topologi Perangkat

      /sys/${productKey}/${deviceName}/thing/topo/change: Topik ini digunakan untuk mengirimkan data perangkat.

      Beritahu gateway tentang perubahan hubungan topologi

      Device tag change

      Topik yang digunakan untuk meneruskan pesan saat tag perangkat diubah. Format: /${productKey}/${deviceName}/thing/deviceinfo/update.

      Kirim perubahan tag perangkat

      /sys/${productKey}/${deviceName}/thing/deviceinfo/update: Topik ini digunakan untuk mengirimkan data perangkat.

      Kirim tag

      TSL Historical Data Reporting

      Topik-topik berikut disediakan:

      • /${productKey}/${deviceName}/thing/event/property/history/post: Topik ini digunakan untuk meneruskan properti historis.

      • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post: Topik ini digunakan untuk meneruskan peristiwa historis.

      /sys/${productKey}/${deviceName}/thing/event/property/history/post: Topik ini digunakan untuk mengirimkan data historis TSL.

      Properti, peristiwa, dan layanan perangkat

      Device status notification

      Topik-topik berikut disediakan:

      • /${productKey}/${deviceName}/ota/upgrade: Topik ini digunakan untuk meneruskan hasil pembaruan over-the-air (OTA).

      • /${productKey}/${deviceName}/ota/progress/post: Topik ini digunakan untuk melaporkan kemajuan pembaruan.

      Topik-topik sebelumnya sesuai dengan topik berikut: /ota/device/progress/${productKey}/${deviceName}. Topik ini digunakan untuk mengirimkan kemajuan pembaruan.

      Kirim kemajuan pembaruan ke IoT Platform

      Submit a module version number

      Topik yang digunakan untuk meneruskan pesan saat nomor versi modul OTA perangkat diubah. Format: /${productKey}/${deviceName}/ota/version/post.

      Kirim versi modul OTA

      Topik sebelumnya sesuai dengan topik berikut: /ota/device/inform/${productKey}/${deviceName}. Topik ini digunakan untuk mengirimkan nomor versi modul OTA.

      Kirim versi modul OTA ke IoT Platform

      Batch status notification

      Topik tempat IoT Platform mengirimkan pesan ketika status batch pembaruan OTA berubah. Format: /${productKey}/${packageId}/${jobId}/ota/job/status.

      Kirim data status batch pembaruan OTA

      Job Event

      /sys/uid/${uid}/distribution/${jobId}/lifecycle: Topik yang digunakan untuk meneruskan notifikasi ketika status pekerjaan perangkat berubah.

      Catatan

      Nama tugas migrasi instance sama dengan nama produk yang ingin Anda migrasikan.

      Kirim data status tugas migrasi data untuk instance

    2. Di bagian Forward Data, klik Add Operation untuk menentukan tujuan penerusan data. Untuk informasi lebih lanjut tentang cara mengonfigurasi fitur penerusan data, lihat topik terkait dalam direktori Contoh-contoh penerusan data.

      Catatan

      Anda dapat membuat hingga 10 operasi penerusan data untuk setiap aturan.

      Jika penerusan data gagal karena pengecualian dalam layanan cloud tujuan, IoT Platform melakukan salah satu dari tindakan berikut:

      • Ketika IoT Platform meneruskan data ke layanan cloud, seperti Message Queue for Apache RocketMQ, ApsaraDB RDS, dan ApsaraDB for Lindorm, akses ke layanan cloud tersebut mungkin gagal karena perubahan sumber daya. Dalam hal ini, IoT Platform menghentikan penerusan data dan mengubah status aturan terkait menjadi Abnormal. Anda harus menentukan tujuan baru untuk penerusan data.

      • Untuk pengecualian lainnya, IoT Platform mencoba kembali tiga kali dengan interval 1 detik, 3 detik, dan 10 detik. Kebijakan percobaan ulang mungkin bervariasi berdasarkan skenario. Jika semua percobaan ulang gagal, pesan akan dibuang. Jika bisnis Anda memiliki persyaratan tinggi untuk keandalan pesan, Anda dapat menambahkan operasi kesalahan dan meneruskan pesan kesalahan ke layanan cloud lainnya.

    3. Di bagian Teruskan Data Kesalahan, klik Add Error Operation. Kemudian, konfigurasikan parameter untuk meneruskan pesan kesalahan ke tujuan yang ditentukan setelah semua percobaan ulang gagal.

      Penting
      • Anda hanya dapat menambahkan satu operasi penanganan kesalahan untuk setiap aturan.

      • Operasi normal dan operasi penanganan kesalahan tidak dapat meneruskan pesan ke tujuan yang sama. Sebagai contoh, data normal dan data kesalahan tidak dapat diteruskan ke OTS pada saat yang bersamaan.

      • Jika pesan kesalahan gagal diteruskan, tidak ada percobaan ulang yang dilakukan.

      • Pesan kesalahan hanya dihasilkan jika mesin aturan gagal meneruskan data karena masalah layanan cloud lainnya.

      Jika pesan gagal diteruskan ke layanan cloud, IoT Platform mencoba kembali untuk meneruskan pesan tersebut. Jika percobaan ulang gagal, pesan kesalahan diteruskan berdasarkan operasi kesalahan yang Anda tentukan untuk penerusan data.

      Contoh pesan kesalahan:

      {
         "ruleName":"",
         "topic":"",
         "productKey":"",
         "deviceName":"",
         "messageId":"",
         "base64OriginalPayload":"",
         "failures":[
          {
           "actionType":"OTS",
           "actionRegion":"cn-shanghai",
           "actionResource":"table1",
           "errorMessage":""
          },
          {
           "actionType":"RDS",
           "actionRegion":"cn-shanghai",
           "actionResource":"instance1/table1",
           "errorMessage":""
          }
         ]
      }

      Tabel berikut menjelaskan parameter pesan kesalahan.

      Parameter

      Deskripsi

      ruleName

      Nama aturan pemantauan.

      topic

      Topik sumber pesan.

      productKey

      ProductKey dari produk.

      deviceName

      DeviceName dari perangkat.

      messageId

      ID pesan yang dikirim dari IoT Platform.

      base64OriginalPayload

      Data mentah yang dikodekan Base64.

      failures

      Rincian kesalahan. Beberapa kesalahan mungkin terjadi.

      actionType

      Tipe operasi yang gagal.

      actionRegion

      Wilayah tempat kesalahan terjadi.

      actionResource

      Layanan tujuan tempat kesalahan terjadi.

      errorMessage

      Pesan kesalahan.

  7. Pergi ke halaman Data Forwarding. Temukan aturan yang telah Anda konfigurasi dan klik Start di kolom Tindakan. Setelah aturan diaktifkan, data diteruskan berdasarkan aturan.

    Anda juga dapat melakukan operasi tertentu pada aturan. Tabel berikut menjelaskan operasi tersebut.

    Operasi

    Deskripsi

    Lihat

    Klik View di kolom Tindakan untuk pergi ke halaman Aturan Penerusan Data. Kemudian, ubah pengaturan aturan. Sebagai contoh, Anda dapat mengubah atau menghapus topik sumber data atau tujuan penerusan data.

    Hapus

    Klik Hapus di kolom Tindakan untuk menghapus aturan.

    Penting

    Anda tidak dapat menghapus aturan yang berada dalam status Berjalan.

    Dihentikan

    Klik Stop di kolom Tindakan untuk menonaktifkan aturan.

    Peringatan

    Jika satu atau beberapa aplikasi Anda memerlukan data perangkat yang diteruskan menggunakan aturan tetapi aturan tersebut dihapus atau dinonaktifkan, atau tujuan penerusan data aturan dihapus, layanan Anda mungkin menjadi tidak tersedia. Akibatnya, bisnis Anda mungkin terganggu. Lanjutkan dengan hati-hati.

Apa yang harus dilakukan selanjutnya

Di halaman rule details, Anda dapat melihat status aturan, memeriksa apakah tujuan penerusan data telah dikonfigurasi, dan memeriksa apakah data diteruskan ke tujuan penerusan data sesuai harapan.Data forwarding destination