Appearance
CreateRule
调用该接口创建转发规则。
使用说明
创建转发规则后,转发服务会根据设备上报的数据,基于配置的规则转发到对应的topic。规则配置分为设备属性上报、状态上报、事件上报以及自定义。可以选择单产品/单设备,也可以选择多产品/多设备。
接口地址
/gateway/openapi
请求方式
POST
请求参数
请求头
名称 | 类型 | 描述 |
---|---|---|
tokenauthorization | String | 平台颁发的token |
apiCode | String | 固定值:createRule |
CreateRuleRequest
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
ruleName | String | 是 | 规则名称 |
remark | String | 否 | 规则描述 |
productKey | String | 是 | 如果是单个产品,就是产品具体key值;如果是所有产品,则用"+"表示。 |
deviceName | String | 是 | 如果是单个设备,就是设备具体name值;如果是所有设备,则用"+"表示。 |
fields | String | 否 | 查询字段,多个字段用逗号分隔。物模型里的字段,如果指定值,则规则转发仅转发这里指定的字段。如果不指定值,则转发所有字段。 |
topSource | String | 是 | 顶级资源类型,可选值如下: 自定义:data_forward_customize 设备属性:data_forward_device_prop 设备状态:data_forward_device_status 设备事件:data_forward_device_event |
secondSource | String | 是 | 二级资源类型,属于顶级资源的下级目录。 如果topSource=data_forward_device_prop,可选值如下: 设备属性上报:data_forward_device_prop_report_m 如果topSource=data_forward_device_status,可选值如下: 设备下线:data_forward_device_offline_m 设备上线:data_forward_device_online_m 设备上下线:data_forward_device_online_offline_m 如果topSource=data_forward_device_event,可选值如下: 设备事件上报:data_forward_device_event_report_m |
mqId | String | 是 | mq实例唯一标识,创建mq实例信息时返回该值。转发规则需要配置最终转发到哪个mq。 |
topicName | String | 是 | 转发到mq的topic名称。 |
返回数据
CreateRuleResponse
名称 | 类型 | 描述 |
---|---|---|
code | String | 调用成功,返回0,调用失败,查看错误信息。 |
msg | String | 调用成功,提示"操作成功",调用失败,查看错误信息。 |
data | Object | 返回结果。结果内容详情,查看下方示例。 |
示例
请求示例
json
{
"name": "wubei的测试规则",
"remark": "111",
"topicName": "wubei_topic",
"productKey": "+",
"deviceName": "+",
"topSource":"data_forward_device_prop",
"secondSource":"data_forward_device_prop_report_m",
"mqId":"6458df05502b48b790814de855216e12"
}
返回示例
json
{
"code": "0",
"msg": "操作成功",
"data": {
"ruleId": "eafb6e9377cd4ceeb7bef3fa2eee7c4d"
}
}
错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
iot.rule.isnull | 规则对象为空。 | 请确保传递入参。 |
iot.rule.paramCheckFail | 规则参数校验失败。 | 请确保按照文档要求传递正确的入参。 |
iot.rule.nameExist | 规则名称已存在。 | 请保持规则名称唯一。 |
iot.rule.sourceMismatching | 顶级资源类型和二级资源类型不匹配。 | 选择顶级资源后,二级资源需要基于顶级资源来选择,请仔细查看文档要求。 |
iot.rule.sourceIllegality | 资源类型不合法。 | 请按照文档要求选择正确的资源类型。 |