All Products
Search
Document Center

IoT Platform:CreateRuleAction

Last Updated:May 27, 2026

Membuat aksi aturan untuk aturan tertentu guna meneruskan data yang telah diproses dari suatu topik ke topik lain atau ke layanan Alibaba Cloud yang didukung.

Batasan

  • Layanan Alibaba Cloud tujuan yang didukung oleh mesin aturan bervariasi berdasarkan wilayah. Untuk informasi selengkapnya mengenai wilayah dan layanan cloud tujuan yang didukung oleh mesin aturan, lihat Regions and zones.
  • Anda dapat membuat maksimal 10 aksi aturan untuk setiap aturan.

  • Anda dapat memanggil operasi API ini untuk menentukan aksi aturan guna meneruskan data ke topik Platform IoT, kelompok konsumen AMQP, atau layanan Alibaba Cloud. Layanan Alibaba Cloud yang didukung mencakup Message Service (MNS), Function Compute, dan Tablestore. Jika perlu meneruskan data ke ApsaraDB RDS, Anda harus menggunakan IoT Platform console.
  • Setiap Akun Alibaba Cloud dapat menjalankan maksimal 50 permintaan per detik (QPS).
    Catatan Pengguna RAM dari suatu Akun Alibaba Cloud berbagi kuota akun tersebut.

Debugging

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

Parameter permintaan

ParameterTipeWajibContohDeskripsi
ActionStringYaCreateRuleAction

Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateRuleAction.

ConfigurationStringYanull

Konfigurasi aksi aturan. Anda harus menentukan sebuah string JSON. Konfigurasi ini berbeda-beda tergantung pada jenis aksi aturan. Untuk informasi lebih lanjut mengenai sintaks yang diperlukan dan contohnya, lihat tabel-tabel berikut.

RuleIdLongYa100000

ID aturan yang ingin Anda buat aksinya. Anda dapat login ke Konsol IoT Platform, , lalu pilih Rules > Data Forwarding untuk melihat ID aturan tersebut. Anda juga dapat memanggil operasi ListRule dan melihat ID aturan dalam respons.

TypeStringYaREPUBLISH

Jenis aksi aturan. Nilai yang valid:

  • REPUBLISH: meneruskan data topik yang telah diproses oleh Mesin aturan ke topik Platform IoT lainnya.
  • AMQP: meneruskan data ke kelompok konsumen AMQP.

  • MNS: meneruskan data yang telah diproses oleh Mesin aturan ke Message Service (MNS).
  • FC: meneruskan data topik yang telah diproses oleh Mesin aturan ke Function Compute untuk komputasi berbasis event.
  • OTS: meneruskan data yang telah diproses oleh Mesin aturan ke OTS untuk penyimpanan data NoSQL.
Catatan Jika Anda mengatur parameter DataType ke BINARY, aturan akan dibuat dalam format biner. Aturan tersebut tidak dapat digunakan untuk meneruskan data ke Tablestore.
IotInstanceIdStringTidakiot-cn-0pp1n8t****

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

Penting
  • Jika instans Anda memiliki ID, Anda harus mengonfigurasi parameter ini. Jika Anda tidak menyetel parameter ini, panggilan akan gagal.
  • Jika instans Anda tidak memiliki halaman Overview atau ID, Anda tidak perlu menyetel parameter ini.

Untuk informasi selengkapnya, lihat Overview.

ErrorActionFlagBooleanTidakfalse

Menentukan apakah aksi aturan meneruskan data operasi error. Data operasi error dihasilkan ketika mesin aturan gagal meneruskan data dari Topik IoT Platform ke layanan cloud tujuan. Kegagalan penerusan data menunjukkan bahwa upaya pengiriman ulang juga gagal. Nilai yang valid:

  • true: meneruskan data operasi error.
  • false: meneruskan data normal alih-alih data operasi kesalahan.

Nilai default: false.

Konfigurasi tipe REPUBLISH

Parameter

Deskripsi

topic

Topik tujuan. Anda dapat menentukan topik komunikasi Thing Specification Language (TSL) atau topik kustom. Anda dapat meneruskan data ke topik komunikasi TSL downstream berikut:

/sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}

Ganti variabel ${tsl.service.identifier} dengan identifier layanan yang didefinisikan dalam model TSL.

topicType

Jenis topik. Nilai yang valid:

0: topik komunikasi TSL downstream.

1: topik kustom.

Contoh


Topik sistem: {"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}
Topik kustom: {"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}
            
Konfigurasi tipe DATAHUB

Parameter

Deskripsi

projectName

Nama proyek DataHub yang digunakan untuk menerima data.

topicName

Nama topik DataHub yang digunakan untuk menerima data.

regionName

Kode wilayah tempat DataHub dideploy. Contoh: cn-shanghai.

role

Informasi mengenai peran RAM. Anda dapat memberikan akses Platform IoT ke DataHub dengan menetapkan peran layanan ke Platform IoT. Sintaks peran RAM:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}

Ganti 6541*** dengan ID Alibaba Cloud Anda. Anda dapat login ke Konsol Manajemen Alibaba Cloud dan melihat ID akun pada halaman Pengaturan Keamanan.

AliyunIOTAccessingDataHubRole menunjukkan peran terkait layanan yang didefinisikan di RAM. Peran ini digunakan untuk memberikan akses Platform IoT ke DataHub. Anda dapat mengelola peran RAM di halaman Peran RAM pada Konsol RAM.

schemaVals

Skema DataHub. Untuk informasi selengkapnya, lihat tabel SchemaVals berikut.

schemaVals

Parameter

Deskripsi

name

Nama kolom.

value

Nilai kolom.

type

Tipe data kolom. Nilai yang valid:

BIGINT: bilangan bulat besar

DOUBLE: float presisi ganda

BOOLEAN: Boolean.

TIMESTAMP: timestamp.

STRING: string.

DECIMAL: desimal.

Contoh


{
    "schemaVals": [
        {
            "name": "devicename",
            "value": "${deviceName}",
            "type": "STRING"
        },
        {
            "name": "msgtime",
            "value": "${msgTime}",
            "type": "TIMESTAMP"
        }
    ],
    "role": {
        "roleArn": "acs:ram::6541***:role/aliyuniotaccessingdatahubrole",
        "roleName": "AliyunIOTAccessingDataHubRole"
    },
    "projectName": "iot_datahub_stream",
    "topicName": "device_message",
    "regionName": "cn-shanghai"
}
            
Konfigurasi tipe OTS

Parameter

Deskripsi

instanceName

Nama instans Tablestore yang digunakan untuk menerima data.

tableName

Nama tabel yang digunakan untuk menerima data.

regionName

Kode wilayah tempat Tablestore dideploy. Contoh: cn-shanghai.

role

Informasi mengenai peran RAM. Anda dapat memberikan akses Platform IoT ke Tablestore dengan menetapkan peran layanan ke Platform IoT. Sintaks peran RAM:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}

Ganti 6541*** dengan ID Alibaba Cloud Anda. Anda dapat login ke Konsol Manajemen Alibaba Cloud dan melihat ID akun pada halaman Pengaturan Keamanan.

AliyunIOTAccessingOTSRole menunjukkan peran terkait layanan yang didefinisikan di RAM. Peran ini digunakan untuk memberikan akses Platform IoT ke Tablestore. Anda dapat mengelola peran RAM di halaman Peran RAM pada Konsol RAM.

primaryKeys

Daftar primary key pada tabel tujuan. Untuk informasi selengkapnya, lihat tabel PrimaryKeys berikut.

PrimaryKeys

Parameter

Deskripsi

columnType

Tipe data primary key. Nilai yang valid:

INTEGER: integer

STRING: string

BINARY: binary

columnName

Nama primary key.

columnValue

Nilai primary key.

option

Menentukan apakah primary key merupakan kolom auto-increment. Anda dapat menyetel parameter ini ke AUTO_INCREMENT atau membiarkannya kosong. Primary key merupakan kolom auto-increment jika parameter columnType dan option masing-masing disetel ke INTEGER dan AUTO_INCREMENT.

Contoh


{
    "instanceName": "testaaa",
    "tableName": "tt",
    "primaryKeys": [
        {
            "columnType": "STRING",
            "columnName": "ttt",
            "columnValue": "${tt}",
            "option": ""
        },
        {
            "columnType": "INTEGER",
            "columnName": "id",
            "columnValue": "",
            "option": "AUTO_INCREMENT"
        }
    ],
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingotsrole",
        "roleName": "AliyunIOTAccessingOTSRole"
    }
}
            
Konfigurasi tipe MNS

Parameter

Deskripsi

themeName

Nama topik MNS yang digunakan untuk menerima data.

regionName

Kode wilayah tempat MNS dideploy. Contoh: cn-shanghai.

role

Informasi mengenai peran RAM. Untuk memberikan akses Platform IoT ke MNS, Anda dapat menetapkan peran layanan ke Platform IoT. Sintaks peran RAM:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

Ganti 6541*** dengan ID Alibaba Cloud Anda. Anda dapat login ke Konsol Manajemen Alibaba Cloud dan melihat ID akun pada halaman Pengaturan Keamanan.

AliyunIOTAccessingMNSRole menunjukkan peran terkait layanan yang didefinisikan di RAM. Peran ini digunakan untuk memberikan akses Platform IoT ke MNS. Anda dapat mengelola peran RAM di halaman Peran RAM pada Konsol RAM.

Contoh


{
    "themeName": "mns-test-topic1",
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    }
}
            
Konfigurasi tipe FC

Parameter

Deskripsi

functionName

Nama fungsi yang digunakan untuk menerima data.

serviceName

Nama layanan yang digunakan untuk menerima data.

regionName

Kode wilayah tempat Function Compute dideploy. Contoh: cn-shanghai.

role

Informasi mengenai peran RAM. Anda dapat memberikan akses Platform IoT ke Function Compute dengan menetapkan peran layanan ke Platform IoT. Sintaks peran RAM:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}

Ganti 6541*** dengan ID Alibaba Cloud Anda. Anda dapat login ke Konsol Manajemen Alibaba Cloud dan melihat ID akun pada halaman Pengaturan Keamanan.

AliyunIOTAccessingFCRole menunjukkan peran terkait layanan yang didefinisikan di RAM. Peran ini digunakan untuk memberikan akses Platform IoT ke Function Compute. Anda dapat mengelola peran RAM di halaman Peran RAM pada Konsol RAM.

Contoh


{
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingfcrole",
        "roleName": "AliyunIOTAccessingFCRole"
    },
    "functionName": "weatherForecast",
    "serviceName": "weather"
}
            
Konfigurasi tipe ONS
Catatan Anda harus memanggil SDK atau menggunakan konsol Message Queue for Apache RocketMQ untuk memberikan akses Platform IoT ke layanan tersebut. Platform IoT harus diotorisasi untuk memublikasikan pesan ke Message Queue for Apache RocketMQ. Setelah itu, Anda dapat membuat aksi aturan untuk meneruskan data ke layanan tersebut.

Parameter

Deskripsi

instanceId

ID instans Message Queue for Apache RocketMQ yang digunakan untuk menerima data.

topic

Nama topik Message Queue for Apache RocketMQ yang digunakan untuk menerima data.

regionName

Kode wilayah tempat Message Queue for Apache RocketMQ dideploy. Contoh: cn-shanghai.

Untuk meneruskan data melalui Internet dalam zona yang sama, Anda dapat menggunakan instans Message Queue for Apache RocketMQ umum. Untuk meneruskan data lintas zona, Anda harus menggunakan instans Message Queue for Apache RocketMQ Platinum Edition.

tag

Opsional. Tag. Panjang tag tidak boleh melebihi 128 byte.

role

Informasi mengenai peran RAM. Anda dapat memberikan akses Platform IoT ke Message Queue for Apache RocketMQ dengan menetapkan peran layanan ke Platform IoT. Sintaks peran RAM:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}

Ganti 6541*** dengan ID Alibaba Cloud Anda. Anda dapat login ke Konsol Manajemen Alibaba Cloud dan melihat ID akun pada halaman Pengaturan Keamanan.

AliyunIOTAccessingONSRole menunjukkan peran terkait layanan yang didefinisikan di RAM. Peran ini digunakan untuk memberikan akses Platform IoT ke Message Queue for Apache RocketMQ. Anda dapat mengelola peran RAM di halaman Peran RAM pada Konsol RAM.

Contoh


{
    "instanceId": "MQ_INST_123157908552****_XXXXXX"
    "topic": "aliyun-iot-XXXXX",
    "regionName": "cn-hangzhou",
    "role": {
        "roleArn": "acs:ram::6541***:role/aliyuniotaccessingonsrole",
        "roleName": "AliyunIOTAccessingONSRole"
    }
}
            
Konfigurasi tipe AMQP

Parameter

Deskripsi

groupId

ID kelompok konsumen.

Contoh


{
    "groupId":"ZTh1JmyLGuZcUfv44p4z00****"
}
            

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

Parameter respons

ParameterTipeContohDeskripsi
ActionIdLong10003

ID dari aksi tersebut. ID aksi dihasilkan oleh rules engine jika panggilan berhasil.

Catatan Amankan informasi ini untuk referensi di masa mendatang. Saat Anda memanggil operasi yang terkait dengan rule action, Anda harus menyediakan action ID tersebut.
CodeStringiot.system.SystemException

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

ErrorMessageStringA system exception occurred.

Pesan error yang dikembalikan jika panggilan gagal.

RequestIdString21D327AF-A7DE-4E59-B5D1-ACAC8C024555

ID dari permintaan tersebut.

SuccessBooleantrue

Menunjukkan apakah panggilan berhasil atau tidak.

  • true: Panggilan berhasil.
  • false: Panggilan gagal.

Contoh

Contoh permintaan

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateRuleAction
&RuleId=100000
&Type=REPUBLISH
&Configuration={"topic":"/a1POX0c****/device1/user/get","topicType":1}
&<Common request parameters>

Contoh respons sukses

XML format

<CreateRuleActionResponse>
      <RequestId>21D327AF-A7DE-4E59-B5D1-ACAC8C024555</RequestId>
      <ActionId>10003</ActionId>
      <Success>true</Success>
</CreateRuleActionResponse>

JSON format

{
    "RequestId": "21D327AF-A7DE-4E59-B5D1-ACAC8C024555",
    "ActionId": 10003,
    "Success": true
}

Kode kesalahan

Untuk daftar kode kesalahan, kunjungi API Error Center.