概述
使用物联网平台规则引擎的数据流转功能, 可将 Topic 中的数据消息转发至其他 Topic 或其他阿里云产品进行存储或处理. 本文主要结合物模型的结构体类型属性数据, 演示 payLoad 的设置及规则引擎的配置.
前提准备
1, 物模型定义
2, 上行消息 payLoad
- request.topic = "/sys/" + pk + "/" + dn + "/thing/event/property/post";
- request.payloadObj = "{\"id\":\"230788029\",\"method\":\"thing.event.property.post\",\"params\":{\"Status\":1,\"Data\": [\n" +
- "{\n" +
- "\"P\": 25,\n" +
- "\"I\": 105,\n" +
- "\"E\": 11\n" +
- "},\n" +
- "{\n" +
- "\"P\": 121,\n" +
- "\"E\": 119,\n" +
- "\"I\": 11\n" +
- "}\n" +
- "]},\"version\":\"1.0\"}";
3, 日志服务监控上行消息情况
4,Table Store 准备
操作步骤
1, 在规则的数据流转详情页, 创建规则 --> 编辑查询规则语句:
SELECT deviceName() as deviceName, "items.Data.value[0].P" as P, "items.Data.value[0].I" as I,"items.Data.value[0].E" as E FROM "/sys/a1D8NwXCe56/device1/thing/event/property/post"
此处编写相对比较复杂, 可以参考 SQL 表达式数组使用说明部分及数据流转过程系统 Topic 部分.
小技巧: 如果使用者对具体上行消息经过物模型解析后的格式不是特别清楚, 建议可以直接使用服务端订阅订阅上行消息, 这样就可以直接参考具体的消息格式类型了, 如下是测试订阅获取的消息格式:
"deviceName":"device1","items":{"Status":{"value":1,"time":1561886161283},"Data":{"value":[{"P":25,"E":11,"I":105},{"P":121,"E":119,"I":11}],"time":1561886161283}}}
2, 转发数据
3, 数据流转详情
4, 开启规则引擎 (注意配置完成后务必记住要开启, 否则配置不生效)
5, 表格存储中检查数据
来源: https://yq.aliyun.com/articles/706930