在企业IoT业务场景中,往往需要将设备上报到IoT物联网平台的数据进行加工处理,存储到数据库中,以便供业务系统使用。物联网平台提供了3种获取数据的方式:
- -通过阿里云POP API获取设备数据
- -通过HTTP/2服务端订阅取设备数据
- -通过规则引擎配置流转数据到云产品
方案一、阿里云POP API获取设备数据
参考 https://www.yuque.com/cloud-dev/iot-tech/upqoog
方案二、HTTP/2服务端订阅 (2019年12月5日更新:现已升级成AMQP服务端订阅)
参考 https://www.yuque.com/cloud-dev/iot-tech/cev3cn
方案三、使用规则引擎详解
规则引擎提供初级的数据过滤转换能力,支持对设备数据进行过滤并转换,然后再流转到其他云产品实例。
上图展示了规则引擎对接的云产品,主要包含消息队列产品(MQ,MNS),数据库产品(关系型数据库RDS,表格存储OTS,时序时空数据库TSDB)和实时处理产品(函数计算FC,Datahub)。
规则引擎实例
完整规则引擎包含如下图3部分:处理数据,正常转发数据,转发错误时流转。
数据处理SQL
规则引擎的数据处理支持类SQL语法,可以处理设备上下文数据和消息Payload数据。语法规则如下:
SQL配置页面如下:
数据转发配置
数据转发异常时流转配置
规则引擎相关文档
规则引擎介绍文档:
https://help.aliyun.com/document_detail/68677.html
SQL表达式
https://help.aliyun.com/document_detail/30554.html
内置SQL函数列表:
https://help.aliyun.com/document_detail/30555.html
物模型(/sys/)Topic的数据结构文档:
https://help.aliyun.com/document_detail/73736.html
消息体Payload的数据结构变换过程
自定义Topic
物模型Topic(/sys/开头Topic)
注:原始payload经过物模型处理后,结构会变化,SQL要根据物模型payload来编写