调用该接口对指定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
}