2.6 规则引擎 2.6.1 规则引擎介绍
规则引擎验证发布到 AWS IoT 的入站消息,并根据定义的业务规则转换这些消息并将它们传输到另一台设备或云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多 个操作。
规则引擎还可以将消息路由到 AWS 终端节点,包括 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch 和内置 Kibana 集成的 Amazon Elasticsearch Service。外部终端节点可以使用 AWS Lambda、Amazon Kinesis 和 Amazon Simple Notification Service (SNS) 进行连接。
使用类似 SQL 的语句编写规则。例如:如果温度读数超出特定阈值,则它可以触发规则以便将数据传输到 AWS Lambda;如果此温度超出其他 5 台设备的平均值 15%,则应采取措施。
规则引擎将提供数十个可用于转换数据的可用功能,并且可以通过 AWS Lambda 创建无限个功能。例如,如果正在处理各种不同的数值,则可以取传入数字的平均值。规则还会触发在 AWS Lambda 中执行 Java、Node.js 或 Python 代码,从而提供最高灵活度以及处理设备数据的能力。
2.6.2 规则引擎的作用
规则引擎验证发布至AWS IoT的消息请求,基于业务规则转换消息请求并发布至其它服务,例如:
(1)富集化或过滤从设备收集的数据
(2)将设备数据写入一个亚马逊DynamoDBm数据库
(3)保存文件至亚马逊S3
(4)发送一个推送通知到所有亚马逊SNS用户
(5)向亚马逊SQS队列发布数据
(6)调用Lambda函数抽取数据
(7)使用亚马逊Kinesis处理大量的设备消息数据
(8)发送数据至亚马逊Elasticsearch服务
(9)捕获一条CloudWatch测量数据
(10)更新一条CloudWatch告警
(11)把一条MQTT消息数据发送至亚马逊机器学习服务,基于亚马逊机器学习模型进行预测
2.6.2 实时流式数据处理N:1 入站的传感器流式数据(数据降噪)
规则引擎过滤、转换、汇总传感器数据后,发送至亚马逊Kinesis处理实时流式数据
Kinesis流式数据共享至其它业务系统
将流式数据的实时处理结果导入至数据库、应用或其它亚马逊服务
2.6.3 推送服务推送通知
支持苹果APNS推送通知服务、谷歌GCM云消息服务、亚马逊ADM设备消息服务,微软WNS推送服务
亚马逊SNS推送通知服务->HTTP协议终端(短信、邮件)
通过亚马逊SNS推送通知服务,调用第三方HTTP协议终端,支持订阅和重试
2.7 设备管理