OneNET物联网平台 平台介绍 入门手册 设备开发指南 应用开发指南
API
API使用 API列表 SDK MQTT LwM2M EDP Modbus TCP
消息队列MQ(公测) HTTP推送
扩展服务 常见问题 发布公告

规则配置

OneNET支持用户自定义基于数据流的数据转发规则

  • 转发全部数据流
  • 基于数据流模板选择数据流
  • 使用正则表达式针对数据流名称自定义匹配规则

正则表达式使用

OneNET支持用户在对数据流名称进行筛选时,使用正则表达式自定义数据流名称的筛选匹配规则

示例1:选择所有数据流

参考筛选表达式为:

.*

示例2:精确筛选一个数据流

表达式语法:

数据流名称

或者

^数据流名称$  

:若需要从 aaa, bbb, ccc 这几个数据流中,只选择ccc这个数据流,参考筛选表达式为:

ccc

或者

^ccc$

示例3:精确筛选多个数据流

表达式语法:

数据流名称1|数据流名称2|数据流名称3

或者

^数据流名称1$|^数据流名称2$|^数据流名称3$

若需要从 aaa, bbb, ccc 这几个数据流中,只选择aaa,ccc这个数据流,参考筛选表达式为:

aaa|ccc

或者

^aaa$|^ccc$

示例4:模糊筛选数据流

(1) 若需要从 abc, bcd, cde 这几个数据流中,只选择包含bc的数据流(abc, bcd),参考筛选表达式为:

.*bc.*

(2) 若需要从 test0, test1, test2, test3, abctest0 这几个数据流中,只选择 test0 test1 test2 ,参考筛选表达式为:

^test[0-2]

示例5: 多重筛选数据流

若需要从 test0, test01, humi2, humi3, abctest0 这几个数据流中,只选择 test0 test01 humi2,参考筛选表达式为:

^test0.*|humi2

规则筛选后的数据格式

经过规则筛选后的数据以统一的数据格式(json)分发至后续服务中,数据格式如下:

数据流消息

转发数据流中消息实际是转发数据流中新增的数据点(deviceDatapoint),数据格式如下:

参数属性格式说明示例
sysProperty messageTypestring消息类型:固定为deviceDatapoint
timestampint消息经过规则引擎的时间戳,unix时间,单位为秒15980987429
productIdstring产品ID90273
appProperty deviceIdstring设备ID102839
dataTimestampint设备数据点生产时间戳,设备上传时可自定义携带15980987429
datastreamstring数据流名称weather
body object/string/...详细的数据点消息内容见如下示例

数据json示例1,json数据

{
    "sysProperty": {
        "messageType": "deviceDatapoint",
        "timestamp": 15980987429,
        "productId": "90273",
    },
    "appProperty":{
        "deviceId": "102839",
        "dataTimestamp": 15980987429,
        "datastream":"weather"
    },
    "body":{
        "temperature": 30,
        "humidity": "47%"
    }
}

数据json示例2,数值型数据

{
    "sysProperty": {
        "messageType": "deviceDatapoint",
        "timestamp": 15980987429,
        "productId": "90273",
    },
    "appProperty":{
        "deviceId": "102839",
        "dataTimestamp": 15980987429,
        "datastream":"temperature"
    },
    "body": 10
}

数据json示例3,字符串型数据

{
    "sysProperty": {
        "messageType": "deviceDatapoint",
        "timestamp": 15980987429,
        "productId": "90273",
    },
    "appProperty":{
        "deviceId": "102839",
        "dataTimestamp": 15980987429,
        "datastream":"weather"
    },
    "body":"sunny with wind"
}

数据json示例4,二进制数据

{
    "sysProperty": {
        "messageType": "deviceDatapoint",
        "timestamp": 15980987429,
        "productId": "90273",
    },
    "appProperty":{
        "deviceId": "102839",
        "dataTimestamp": 15980987429,
        "datastream":"weather"
    },
    "body":{
        "index": "3491506_1475204886914_bin"
    }
}

results matching ""

    No results matching ""