调用该接口对指定Topic新建一个规则。
使用说明
调用该接口时,请求参数ProductKey必须传入。
QPS限制
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateRule |
系统规定参数。取值:CreateRule。 |
Name | String | 是 | iot_test1 |
规则名称。支持中文、英文字母、日文、数字、下划线(_)和短划线(-),长度为1~30个字符,一个中文或日文占2个字符。 |
IotInstanceId | String | 否 | iot-cn-0pp1n8t**** |
实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 重要
实例的更多信息,请参见实例概述。 |
Select | String | 否 | deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature |
要执行的SQL SELECT语句。具体内容参照SQL表达式。 说明 此处传入的是SELECT下的内容。例如,如果SELECT语句为
SELECT a,b,c ,则此处传入a,b,c 。
|
ShortTopic | String | 否 | +/thing/event/property/post |
应用该规则的具体Topic,格式一般为:
|
Where | String | 否 | Temperature>35 |
规则的触发条件。具体内容参照SQL表达式。 说明 此处传入的是Where中的内容。例如,如果Where语句为
Where a>10 ,则此处传入a>10 。
|
ProductKey | String | 否 | a1T27vz**** |
应用该规则的产品ProductKey。 |
RuleDesc | String | 否 | rule test |
规则的描述信息。长度限制为100个字符,一个中文字符计为1个字符。 |
DataType | String | 否 | JSON |
规则处理的数据格式,需与待处理的设备数据格式一致。取值:
说明 若选择为BINARY,TopicType不能选择为0(基础通信Topic或物模型通信Topic),且不支持将数据转发至表格存储和云数据库RDS版。
|
TopicType | Integer | 否 | 1 |
|
ResourceGroupId | String | 否 | rg-acfmxazb4ph**** |
传入资源组ID(可在资源管理控制台查看资源组信息),将该规则划归为某个资源组。 重要
仅开通资源管理服务的白名单用户,可传入该参数。 若不传入此参数,该规则将被划归为默认资源组。 |
Topic | String | 否 | /sys/g18l***/device1/thing/event/property/post |
待添加规则的完整Topic。 如果传入此参数,无需再传入参数ShortTopic和TopicType。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | iot.system.SystemException |
调用失败时,返回的错误码。更多信息,请参见错误码。 |
ErrorMessage | String | 系统异常 |
调用失败时,返回的出错信息。 |
RequestId | String | E4C0FF92-2A86-41DB-92D3-73B60310D25E |
阿里云为该请求生成的唯一标识符。 |
RuleId | Long | 100000 |
调用成功时,规则引擎为该规则生成的规则ID,作为该规则的标识符。 说明 请妥善保管该信息。在调用和规则相关的接口时,您可能需要提供对应的规则ID。
|
Success | Boolean | true |
是否调用成功。
|
示例
请求示例
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
&<公共请求参数>
正常返回示例
XML
格式
<CreateRuleResponse>
<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
<RuleId>100000</RuleId>
<Success>true</Success>
</CreateRuleResponse>
JSON
格式
{
"RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E",
"RuleId": 100000,
"Success": true
}