阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程

文章目录

  • 阿里云物联网设备数据流转至RDS
    • 配置RDS
      • 数据转发至RDS的注意事项
      • 创建RDS数据库
      • 创建数据库及账户
      • 创建数据表
    • 配置转发
      • 错误调试

阿里云物联网设备数据流转至RDS

最近需要对设备上报的历史数据进行分析。虽然使用阿里云提供的API也可以查到一个月内的历史数据,但也仅仅是一个月内的数据,而且通过API接口每次调取的时候有很多限制(一次调用最多可查询10个属性的历史数据;每个属性最多返回100条数据;仅能查询最近30天内的属性数据),使用起来很不便,因此选择了通过数据流转的功能存入RDS。


配置RDS

数据转发至RDS的注意事项

  1. 只支持同地域转发,不支持跨地域转发。比如,华东2节点的平台数据只能转发到华东2的RDS数据表中。
  2. 只支持转发到专有网络RDS实例。
  3. 支持MySQL实例和SQL Server实例。
  4. 支持普通数据库和高权限数据库的转发。
  5. 不支持二进制格式数据转发至RDS。

创建RDS数据库

为了演示整个流程,创建一个按量付费的RDS数据库,选择配置如下:
阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程_第1张图片

配置项
地域 [见下方备注信息]
数据库类型 数据库类型:MySQL
版本 5.7
系列 普通版
网络类型 专有网络
规格 1核1GB

阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程_第2张图片
其余未提及的配置项选择默认即可。实际使用时可根据需要采用更高的配置。

截止目前(2019年5月20日)阿里云物联网平台的可选地域只有华东2(上海)节点,因此RDS的地域也必须选择相同配置。不排除物联网平台未来会有其他地域的节点,可提前在物联网平台的控制台中确认服务的地域。

创建数据库及账户

在RDS控制台中查看实例,在数据库管理中创建新数据库;在账号管理中创建新账号,并为该账号赋予新建数据库的访问权限。
阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程_第3张图片

创建数据表

在阿里云RDS提供的网页DMS中创建新表,字段名及数据类型需要与对应的物联网产品属性数据类型相同,否则数据可能无法存入。
打开物联网的控制台->设备管理->产品->功能定义->自定义功能,就能看到设备的属性列表。从中筛选出需要转存的属性,在数据表中创建对应的字段即可。

配置转发

打开物联网的控制台->规则引擎->数据流转->创建规则,为新规则命名,选择“json格式”(因为设备上报属性的时候默认就是JSON格式)。
创建完成后就可以编辑规则,编辑界面分三部分处理数据转发数据转发错误操作数据
阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程_第4张图片

  1. 处理数据 : 设备上报的JSON数据可以映射为虚拟的表,其中Key对应表的列,Value对应列值。阿里云提供了一种类试MySQL语法的SQL表达式和一些内置函数,这样就可以参照官方提供数据流转过程使用SQL处理JSON数据。
  2. 转发数据 : 选择数据转发一栏的添加操作,出现添加操作页面。选择存储到云数据库(RDS)中。根据提示填写RDS、数据库账户、数据表、每个属性的字段名等信息。官方说明
  3. 转发错误操作数据 : 顾名思义用来保存数据流转时产生的错误信息,此处省略。
    阿里云物联网 - 设备上报属性历史数据转存至RDS -完整配置过程_第5张图片

在配置转发数据时,首次从选项列表中选择存储到云数据库(RDS)中会提示需要授权访问云数据库的权限。(授权信息在访问控制RAM->RAM角色管理列表中可见,名称为AliyunIOTAccessingRDSRole)。

错误调试

数据库转存的过程中可能会因为数据流转规则编写的字段名不匹配、数据库字段格式不匹配等等原因导致转存失败,当发现数据表中没有新数据写入时,可在物联网平台的控制台查阅这些错误信息,路径为:监控运维->日志服务->选择日志所属产品->物模型数据分析。

你可能感兴趣的:(物联网,云服务)