● 11.3.2 使用HTTP/HTTPS订阅推送
● 11.3.3 使用AMQP订阅推送
●
应用与数据集成平台ROMA Connect
●
云日志服务(LTS)
{ "resource" : "device.message", "event" : "report",
"event_time" : "20151212T121212Z", "notify_data" : {
"header" : {
"device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "product_id" : "ABC123456789",
"app_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789",
"tags" : [ {
SELECT notify_data.header.device_id AS device_id, notify_data.body.content WHERE notify_data.body.content.temperature > 38
当设备上报消息中temperature大于38度时,会触发转发,转发后的数据格式如下:
{ "device_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "notify_data.body.content" : {
"temperature" : 40, "humidty" : 24 }
}
SELECT 子句
SELECT子句由SELECT后跟多个SELECT子表达式组成,子表达式可以为*,JSON变量,
SELECT 5 AS number
● 常数字符串
正如标准的SQL一样,SELECT上面支持常数字符串,目前支持[a-zA-Z_-]*的模式,
需要使用单引号括起来,常数后必须跟AS子句,如
SELECT 'constant_info' AS str
WHERE
在WHERE子句中,您可以用JSON变量进行布尔运算,进行一些非空判断,然后使用 AND, OR关键字把结果组合起来。
● 为空判断 IS NULL, IS NOT NULL
为空判断可以用在WHERE子句中,如果JSON变量抽取不到数据,或者抽取到的 数组为空,那么IS NULL成立,反之IS NOT NULL成立。
WHERE data IS NULL
● 大于小于运算符 > <
大于小于运算符可以用于WHERE子句中,当且仅当JSON变量的值为常量整数 时,可以进行两个JSON变量的比较或者JSON变量和常量的比较。大于小于运算 符也可以用于常量和常量的比较。也可以通过AND或者OR来连接起来运算 比如
WHERE data.number > 5 可以抽取出json表达式大于5的信息 WHERE data.tag < 4 可以抽取出json表达式中小于4的信息
WHERE data.number > 5 AND data.tag < 4 可以抽取出json表达式data.number大于5的信息并且json表 达式data.tag中小于4的信息
● =
=运算符可以用于WHERE子句中,用于JSON变量和JSON变量的比较、JSON变量 整数和整数常量的比较、JSON变量字符串和字符串常量的比较。如果两个JSON 变量IS NULL成立,那么=比较结果为false。也可以通过AND或者OR来连接起来 运算
WHERE data.number = 5 可以抽取出json表达式大于5的信息 WHERE data.tag = 4 可以抽取出json表达式中等于4的信息
WHERE data.number = 5 OR data.tag = 4 可以抽取出json表达式data.number等于5的信息或者json表达 式data.tag中等于4的信息
GET_TAG String
tagKey 获取tag对应的value 字符串 -CONTAINS_TA
G String
tagKey 判断是否包含该tag 布尔值 -GET_SERVICE String
serviceId 获取指定serviceId的 service如果您在一个
GET_SERVICES String
serviceId 获取指定serviceId的 service如果您在一个
RVICES String
serviceId 获取指定serviceId的 service,将结果汇合为 一个数组
布尔值 只能在属性 上报时使用
函数名称 携带参数 用途 返回值类 型
限制
GET_SERVICE_
PROPERTIES String
serviceId 获取指定serviceId的 service中的properties
PROPERTY String serviceId,
7 存储管理
概述
物联网平台为用户提供数据存储服务,用于存储用户设备接入、设备日常管理时所产 生的数据。目前设备接入控制台集成了IoT数据分析的存储管理服务,包括物联网温数 据存储和物联网冷数据存储。
● 物联网温数据存储:针对物联网时序特征优化的存储,可大幅度提高数据压缩 比,并且支持高效的时间维度聚合查询能力,推荐近期需要频繁查询的数据通过 温存储方式保存。
● 物联网冷数据存储:采用价格低廉的对象存储方式,适合做物联网历史数据归档 使用。通过IoT数据分析的离线分析引擎,可轻松实现PB级别的大数据分析。
存储配置
首次使用存储管理服务时,需要开通设备接入服务与IoT数据分析服务的相互访问数据 功能。
步骤1 访问设备接入服务,单击“立即使用”进入设备接入控制台。
步骤2 在左侧导航栏,选择“存储管理”,勾选“授权设备接入和IoT数据分析服务相互访问 其数据”,单击“立即开通”按钮。
说明
首次访问IoTA时会出现此授权提示, 授权成功后不会再次显示。
步骤3 单击左上方的“添加存储组”。在弹出的页面中选择需要使用存储服务的产品,填写 存储名称,同时指定温数据和冷数据的存储时长,并单击“确认”。
添加存储组后,平台会自动为您在IoT数据分析服务中创建设备接入服务的数据源,并 自动创建对应的存储与管道作业,将您选择的产品上报数据通过管道输出到对应存储 中。
步骤4 展开创建的存储组,可以看到系统自动为您创建的存储,该存储保存了您对应产品上 报的数据,单击“时序分析”或“离线分析”可进入IoTA数据分析服务进行更多操 作。
说明
IoT数据分析服务:基于物联网资产模型,整合物联网数据集成、清洗、存储、分析、可视化,
为开发者提供一站式服务,降低开发门槛,缩短开发周期,快速实现物联网数据价值变现。
完成存储配置后,您可以在设备列表页面,单击右上角的“分析历史数据”,批量分 析和探索所有设备的历史数据。也支持在设备详情页面查看单个设备的历史数据。
----结束
8 监控运维
8.1 设备消息跟踪 8.2 查看报表 8.3 告警管理 8.4 查看审计日志 8.5 查看运行日志
8.1 设备消息跟踪
在设备鉴权、命令下发、数据上报、平台数据转发等业务场景中出现故障时,物联网 平台可以通过消息跟踪功能进行快速的故障定位和原因分析。目前物联网平台支持NB-IoT设备和MQTT设备的消息跟踪,单个用户下,最多支持同时进行跟踪的设备数上限 为10。
操作步骤
步骤1 访问设备接入服务,单击“立即使用”进入设备接入控制台。
步骤2 在左侧导航栏选择“设备 > 所有设备”界面。
步骤3 通过检索条件,快速找到需要跟踪的设备,并单击"查看"按钮,进入设备详情。
步骤4 在“设备详情”页,单击“消息跟踪”页签,单击“启动消息跟踪”按钮,选择需要 跟踪的消息类型,并设置设备的消息跟踪时间,如下图所示,消息跟踪时长表示从启 动消息跟踪功能开始到结束消息跟踪的总时长,在设置的时间段内进行消息跟踪,修 改跟踪配置后,会已修改后时间为准。
图8-1 启动消息跟踪
步骤5 您可以在“设备详情 > 消息跟踪”页面,查看正在进行消息跟踪的业务(如果单击停 止消息跟踪按钮,则停止跟踪设备)。
如果跟踪的结果中数据量较多时,您可以根据“消息状态”、“消息类型”和“记录 时间”进行过滤;如果对跟踪结果数据需要做进一步的分析,用户可以通过“导出”
功能,将跟踪的结果数据导出,以便物联网平台运维人员做进一步的分析。
图8-2 查看消息跟踪数据
若消息状态显示“失败”,可以通过单击“定位建议”按钮,查看失败场景的定位建 议并进行问题的定位分析,通过单击“查看”按钮查看跟踪结果的详情信息。
----结束
8.2 查看报表
报表名称 报表说明 数据刷新 频率 IoTDA.Rules 统计创建的规则总数和单位时间内触发的规则总数。 每分钟
8.3 告警管理
d. 清除告警。当设备故障解除时,可在告警列表中单击目标告警所在“操作”
列中的 。
更多详细内容,请参考查看告警。
8.4 查看审计日志
用户在使用物联网平台的过程中,通过云审计服务,可查看用户及平台的操作及结 果,当某项功能发生异常时,用户可以根据日志的记录信息定位并处理故障信息。目 前支持查看以下设备接入服务的操作记录:
操作名称 资源类型 事件名称
创建规则 rule createRule
删除规则 rule deleteRule
更新规则 rule updateRule
修改规则状态 rule changeRuleStatus 下发设备命令 command sendCommand 创建批量任务 batchtasks createBatchTask 上传证书 certificate addCertificate 删除证书 certificate deleteCertificate 验证证书 certificate verifyCertificate
注册设备 device addDevice
删除设备 device deleteDevice 重置设备密钥 device resetDeviceSecret 添加设备组 device-group addDeviceGroup 修改设备组 device-group updateDeviceGroup 删除设备组 device-group deleteDeviceGroup 管理设备组中的设备 device-group manageDevicesInGroup 配置设备影子预期数据 deviceShadow updateDeviceShadow
操作步骤
步骤1 登录云审计服务管理控制台。
步骤2 单击左侧导航栏的“事件列表”,进入事件列表信息页面。选择“区域事件”。
步骤3 设置对应的操作事件条件。当前事件列表支持四个维度的组合查询,详细信息如下:
● “事件类型”“事件来源”、“资源类型”、筛选类型”
– “事件类型”:选择“管理事件”。
– “事件来源”:选择“IoTDA”。
– “资源类型”:选择“所有资源类型”,或者指定具体的资源类型。
– “筛选类型”:选择“所有筛选类型”,或者选择“按资源ID”(选择该选 项时,还需选择或者手动输入某个具体的资源ID)。
● 操作用户:在下拉框中选择某一具体的操作用户,此操作用户指用户级别,而非 租户级别。
● 事件级别:可选项为“所有事件级别”、“normal”、“warning”、
“incident”,只可选择其中一项。
● 时间范围:可选择查询最近七天内任意时间段的操作事件。
步骤4 单击“查询”,查看对应的操作事件。
步骤5 在需要查看的事件右侧,单击“查看事件”,弹出一个窗口,显示了该操作事件结构 的详细信息。
关于云审计服务事件结构的关键字段详解,请参见《云审计服务用户指南》的事件结
构章节。
----结束
8.5 查看运行日志
华为物联网平台支持记录平台与设备端,周边应用系统之间的对接情况,并以日志的 形式上报到云日志服务(LTS),由LTS提供实时查询、海量存储、结构化处理和可视 化图表分析能力,LTS每月免费赠送500M额度,超过后按需收费。LTS服务介绍和计费 说明参见云日志服务LTS。
目前仅支持记录MQTT设备的业务运行日志,详细请参考下表。
业务类型 业务流程
设备状态 设备上线
设备下线
设备消息 应用侧下发设备消息API 物联网平台给设备下发消息 设备给物联网平台上报消息 设备命令 应用侧下发设备命令API
物联网平台给设备下发命令 设备属性 应用侧修改设备属性API
设备属性上报
网关批量上报设备属性 平台设置设备属性
运行日志格式如下表,各字段之间以"|"分割。
字段 说明
时间 日志采集时间,时间格式为yyyy-MM-dd'T'HH:mm:ss,SSS'Z',
例如:2020-06-16T09:24:45,708Z 设备Id 设备的deviceId
业务类型 对应业务类型:
设备状态:device.status 设备消息:device.message 设备命令:device.command 设备属性:device.property
字段 说明
操作 对应的操作名称,例如:API url,MQTT消息的topic。
请求参数 操作的请求参数,例如:API的请求体。
结果信息 操作的结果,例如:API的响应体,错误信息等。
结果信息 操作的结果,例如:API的响应体,错误信息等。