All Products
Search
Document Center

IoT Platform:CreateRule

Last Updated:May 27, 2026

Membuat aturan penerusan data untuk topik tertentu.

Catatan penggunaan

Saat memanggil operasi ini, Anda harus menentukan ProductKey dalam permintaan.

Batas QPS

Anda dapat memanggil operasi API ini hingga 50 kali per detik per akun.

Catatan

Pengguna Manajemen Akses Sumber Daya (RAM) dari suatu Akun Alibaba Cloud berbagi kuota akun tersebut.

Debugging

OpenAPI Explorer secara otomatis menghitung nilai signature. Untuk kenyamanan Anda, kami menyarankan agar Anda memanggil operasi ini di OpenAPI Explorer. OpenAPI Explorer menghasilkan secara dinamis contoh kode operasi ini untuk berbagai SDK.

Parameter permintaan

Parameter

Type

Required

Example

Description

Action

String

Yes

CreateRule

Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateRule.

Name

String

Yes

iot_test1

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

IotInstanceId

String

No

iot-cn-0pp1n8t****

ID instans. Anda dapat melihat ID instans pada tab Overview di Konsol IoT Platform.

Penting
  • Anda harus menentukan parameter ini jika instans Anda memiliki ID. Jika tidak, pemanggilan akan gagal.

  • Jika tab Overview atau ID instans tidak ditampilkan di Konsol IoT Platform, Anda tidak perlu menentukan parameter ini.

Untuk informasi selengkapnya tentang instans, lihat Overview.

Select

String

No

deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature

Pernyataan SQL SELECT yang ingin Anda eksekusi. Untuk informasi selengkapnya, lihat SQL statements.

Catatan

Parameter ini menentukan field dalam pernyataan SELECT. Misalnya, jika pernyataan SELECT adalah SELECT a,b,c, tetapkan parameter ini ke a,b,c.

ShortTopic

String

No

+/thing/event/property/post

Topik tempat aturan ini diterapkan. Formatnya adalah ${deviceName}/topicShortName. ${deviceName} menentukan nama perangkat, dan topicShortName menentukan nama pendek topik.

  • Untuk topik komunikasi dasar atau topik komunikasi berbasis Thing Specification Language (TSL), formatnya adalah ${deviceName}/topicShortName. Anda dapat mengganti ${deviceName} dengan karakter wildcard +. Karakter wildcard ini menunjukkan bahwa topik berlaku untuk semua perangkat di bawah produk tersebut. Nilai valid untuk topicShortName:

    • /thing/event/property/post: mengirimkan data properti perangkat.

    • /thing/event/${tsl.event.identifier}/post: mengirimkan data event perangkat. ${tsl.event.identifier} menentukan identifier suatu event dalam model TSL.

    • /thing/lifecycle: mengirimkan perubahan siklus hidup perangkat.

    • /thing/downlink/reply/message: mengirimkan respons perangkat terhadap permintaan dari IoT Platform.

    • /thing/list/found: mengirimkan data saat gerbang mendeteksi perangkat sub baru.

    • /thing/topo/lifecycle: mengirimkan perubahan topologi perangkat.

    • /thing/event/property/history/post: mengirimkan data properti historis perangkat.

    • /thing/event/${tsl.event.identifier}/history/post: mengirimkan data event historis perangkat. ${tsl.event.identifier} menentukan identifier suatu event dalam model TSL.

    • /ota/upgrade: mengirimkan status pembaruan OTA perangkat.

    • /ota/version/post: mengirimkan versi modul OTA.

    • /thing/deviceinfo/update: mengirimkan perubahan tag perangkat.

    • /edge/driver/${driver_id}/point_post: mengirimkan data transmisi langsung dari Link IoT Edge. ${driver_id} menentukan ID driver yang digunakan perangkat untuk mengakses Link IoT Edge.

      Untuk topik yang digunakan untuk mengirimkan status batch pembaruan OTA, formatnya adalah ${packageId}/${jobId}/ota/job/status. Topik ini termasuk dalam topik komunikasi dasar. ${packageId} menentukan ID paket. ${jobId} menentukan ID batch pembaruan.

  • Untuk topik kustom, contohnya adalah ${deviceName}/user/get.

    Anda dapat memanggil operasi QueryProductTopic untuk melihat semua topik kustom produk tersebut.

    Saat menentukan topik kustom, Anda dapat menggunakan karakter wildcard + dan #.

    • Anda dapat mengganti ${deviceName} dengan karakter wildcard +. Karakter wildcard ini menunjukkan bahwa topik berlaku untuk semua perangkat dalam produk tersebut.

    • Anda dapat mengganti field yang mengikuti ${deviceName} dengan /user/#. Karakter wildcard # menunjukkan bahwa topik berlaku untuk semua field yang mengikuti/user.

      Untuk informasi selengkapnya tentang cara menggunakan karakter wildcard, lihat Use custom topics.

  • Untuk topik yang digunakan untuk mengirimkan perubahan status perangkat, formatnya adalah ${deviceName}.

    Anda dapat menggunakan karakter wildcard +. Dalam hal ini, perubahan status semua perangkat di bawah produk tersebut akan dikirimkan.

Where

String

No

Temperature>35

Kondisi yang digunakan untuk memicu aturan. Untuk informasi selengkapnya tentang aturan tersebut, lihat SQL statements.

Catatan

Parameter ini menentukan field dalam klausa WHERE. Misalnya, jika pernyataan WHERE adalah WHERE a > 10, tetapkan parameter ini ke a>10.

ProductKey

String

No

a1T27vz****

ProductKey produk tempat aturan ini diterapkan.

RuleDesc

String

No

rule test

Deskripsi aturan. Deskripsi dapat terdiri dari maksimal 100 karakter.

DataType

String

No

JSON

Format data yang diproses berdasarkan aturan. Nilai parameter ini harus konsisten dengan format data perangkat yang ingin Anda proses. Nilai yang valid:

  • JSON (default): data JSON.

  • BINARY: data biner.

Catatan

Jika Anda mengatur parameter ini ke BINARY, Anda tidak dapat mengatur TopicType ke 0 atau meneruskan data ke Tablestore, dan ApsaraDB RDS.

TopicType

Integer

No

1

  • 0: topik komunikasi dasar atau topik komunikasi berbasis TSL yang dijelaskan dalam ShortTopic. Topik yang digunakan untuk mengirimkan status batch pembaruan OTA termasuk dalam topik komunikasi dasar.

  • 1: topik kustom.

  • 2: topik yang digunakan untuk mengirimkan perubahan status perangkat. Topik ini dinyatakan dalam format lengkap berikut: /as/mqtt/status/${productKey}/${deviceName}.

ResourceGroupId

String

No

rg-acfmxazb4ph****

ID kelompok sumber daya.

Penting
  • IoT Platform hanya mendukung manajemen kelompok sumber daya berdasarkan instans. ResourceGroupId tidak berlaku. Anda tidak perlu lagi menentukan parameter ini.

  • Kelompok sumber daya yang Anda tentukan saat memanggil operasi ini sebelumnya tetap berlaku.

Topic

String

No

/sys/g18l***/device1/thing/event/property/post

Topik lengkap tempat aturan ini diterapkan.

Jika Anda menentukan parameter ini, Anda tidak perlu menentukan ShortTopic dan TopicType.

Selain parameter permintaan khusus operasi di atas, Anda harus menentukan parameter permintaan umum saat memanggil operasi ini. Untuk informasi selengkapnya tentang parameter permintaan umum, lihat Common parameters.

Catatan

Untuk mengaktifkan aturan, Anda harus menentukan ProductKey, ShortTopic, dan Select.

Parameter respons

Parameter

Type

Example

Description

Code

String

iot.system.SystemException

Kode kesalahan yang dikembalikan jika permintaan gagal. Untuk informasi selengkapnya, lihat Error codes.

ErrorMessage

String

A system exception occurred.

Pesan kesalahan yang dikembalikan jika permintaan gagal.

RequestId

String

E4C0FF92-2A86-41DB-92D3-73B60310D25E

ID permintaan.

RuleId

Long

100000

ID aturan. Jika permintaan berhasil, mesin aturan akan menghasilkan ID aturan untuk aturan tersebut.

Catatan

Simpan kerahasiaan ID aturan. Anda mungkin perlu memberikan ID aturan jika ingin memanggil operasi terkait aturan.

Success

Boolean

true

Menunjukkan apakah permintaan berhasil. Nilai yang valid:

  • true

  • false

Contoh

Contoh permintaan

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateRule
&Name=iot_test1
&ProductKey=a1T27vz****
&ShortTopic=+/thing/event/property/post
&Select=deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature
&RuleDesc=rule test
&DataType=JSON
&Where=Temperature>35
&TopicType=1
&<Common request parameters>

Contoh respons sukses

XML format

<CreateRuleResponse>
      <RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
      <RuleId>100000</RuleId>
      <Success>true</Success>
</CreateRuleResponse>

JSON format

{
  "RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E", 
  "RuleId": 100000, 
  "Success": true
}

Kode kesalahan

Untuk daftar kode kesalahan, lihat Service error codes.