阿里云物联网平台数据转发到表格存储(Table Store)示例参考

概述

使用物联网平台规则引擎的数据流转功能,可将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、表格存储中检查数据
_

猜你喜欢

转载自yq.aliyun.com/articles/706930