文档首页 > > 用户指南> 规则

规则

分享
更新时间: 2019/08/14 14:14

功能介绍

规则引擎是指用户可以对平台接入的设备设定相应的规则,在条件满足所设定的规则后,平台会触发相应的动作来满足用户需求。包含数据转发规则。

数据转发无缝与华为云其他服务对接,实现设备数据按需转发和处理,您无需购买服务器,即可实现设备数据的存储、计算、分析的全栈服务:

  • 对接数据接入服务DIS,实现数据高效采集、传输、分发。用户可以通过DIS提供的SDK/API等方式下载数据,完成后续自定义使用数据的业务开发场景;也可以通过转储任务进一步将数据转发到其他云服务(OBSMapReduceDWSDLI),进行数据存储、数据分析等后续数据处理,便于用户进行更灵活、多样化的数据使用。
  • 对接分布式消息服务DMS,为设备数据提供消息队列服务。DMS是一项基于高可用分布式集群技术的消息中间件服务,用于收发消息。IoT作为生产者发送消息到DMS消息队列里,用户的应用程序作为消费者从消息队列里消费消息,从而做到往用户多个应用程序组件之间传输消息。
  • 对接对象存储服务OBS,实现设备数据持久存储(设备接服务不支持设备数据存储)。OBS是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,适用于对设备上报数据进行归档和备份存储。OBS也支持对接实时流计算CS云服务,实时分析数据流,分析结果对接到其他云服务或者第三方应用进行数据可视化等。
  • 对接企业集成平台ROMA的消息集成(Message Queue Service,简称MQS)组件,为IoT平台与应用服务器之间提供安全、标准化的消息通道。MQS是一款企业级消息中间件,基于Kafka协议,使用统一的消息接入机制,并具备消息发布订阅、Topic管理、用户权限管理、资源统计、监控报警等基础功能,以及消息轨迹、网络隔离、云上云下集成等高级特性,为企业数据管理提供统一的消息通道。

创建数据转发规则

  1. 单击页面右上角的“创建规则”
  2. 参考如下参数说明,设置规则。

    表1 参数说明

    参数名称

    参数说明

    示例

    规则名称

    创建的规则名称

    例如,创建一条规则:

    • 规则名称:test
    • 对象类型:所有设备
    • 动作类型:DIS服务
    • 区域:cn-north-1
    • 通道:dis-DMPLiteTest
    • 数据类型信息:JSON

    规则创建完成后,平台会根据规则,通过dis-DMPLiteTest通道转发JSON格式的数据到区域为cn-north-1的DIS服务。

    条件

    • 对象类型:选择“所有设备”(只支持所有设备的数据转发)。
    • 添加过滤条件:开关默认为“关闭”状态,当开关打开时,需要设置“属性名称”、“操作”、“值”参数,IoT平台对符合过滤条件的设备进行转发,详见转发数据样例

    动作

    • 动作类型:根据实际情况,选择“DIS服务”“DMS服务”“OBS服务”、或者“ROMA服务”
      说明:

      如果您没有开通服务,请参照以下步骤操作:

      1. 在系统管理->云服务配置管理,与华为云对接。
      2. 在本界面上点击具体的云服务链接,跳到华为云官网上开通相应的服务。其中:
        • DMS服务:只支持转发到逻辑多租的普通队列和高级队列,不支持物理多租的RabbitMQ实例和Kafka专享版。
        • ROMA服务:开通ROMA服务后,还需根据订阅推送服务(ROMA)进行对接。
    • 数据转发至:如图 创建数据转发规则界面所示,选择您需要转发的服务所在的区域、通道、数据类型等信息,不同服务填写的信息稍有差别,请以界面选项为准。

    描述

    对该规则的描述。

    • 转发数据样例:
      若设备上报的数据为JSON格式,IoT平台会对数据进行解析匹配,并添加serviceId(设备ID)和eventTime(消息上报时间)属性后转发:
      {
             "deviceId": "6543214c-72bb-4131-9e14-fad974123456",
             "services": [{
                    "serviceId": "Battery",
                    "data": {
                           "batteryLevel": "85",
                    },
                    "eventTime": "20190425T021157Z"
             }]
      }
      若设备上报的数据是二进制格式,设备接入服务对直接透传上来的设备数据进行码流base64封装后再转发,服务ID固定为RawData,属性ID固定为rawData,属性值为上传码流base64后的结果:
      {
             "deviceId": "6543214c-72bb-4131-9e14-fad974123456",
             "services": [{
                    "serviceId": "RawData",
                    "data": {
                           "rawData": "NjY2NjY2"
                    },
                    "eventTime": "20190430T023945Z"
             }]
      }
      数据转发添加过滤条件:
      • 根据deviceId过滤,转发单设备数据。

      • 若上报数据为JSON格式,还可以根据上报数据属性过滤,例如设置batteryLevel>20,就是只转发上报了batteryLevel且取值大于20的数据。

    • 创建数据转发规则界面

    单击“提交”,完成设备联动规则的创建。

    新创建的规则默认状态为“激活”,您可以在列表中“规则状态”列,对规则进行禁用。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区