数据转发至MySQL存储
场景说明
对于平台的流转数据可以选择让平台将设备上报数据转发给云数据库(MySQL),由MySQL进行存储,用户无需做额外的数据存储代码开发即可使用设备数据进行业务处理。
本示例为将流转数据转发至MySQL存储。
前提条件
- 已购买设备接入服务的企业版实例或标准版实例。
- 已购买云数据库MySQL实例。
创建MySQL
- 登录华为云官方网站,访问云数据库 MySQL,购买实例。设备接入服务企业版实例支持通过内网连接MySQL,标准版实例仅支持通过公网连接MySQL。
- 在购买的MySQL实例中,根据流转数据格式设计数据库表,可以通过数据过滤语句编辑流转数据。本示例使用设备属性上报通知的默认格式,将流转数据中的resource、event、notify_data、event_time分别转存至数据库表中的resource、event、content、event_time字段。
图1 创建数据库表样例
配置设备接入服务
在设备接入服务中创建产品模型、注册设备并设置数据转发规则,实现当设备上报数据时将数据转发至MySQL。
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 选择左侧导航栏的“产品”,单击创建产品,选择新建产品所属的资源空间。
本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。
- 单击“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”。
基本信息
产品名称
自定义,如MQTT_Device
协议类型
选择“MQTT”
数据格式
选择“JSON”
所属行业
根据实际情况进行选择。
设备类型
- 单击文件,获取产品模型文件样例。
- 在基本信息页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确定”。
图2 产品-上传产品模型
- 选择左侧导航栏的
,单击“注册设备”,填写设备注册参数,完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。图3 设备-注册密钥设备
- 选择左侧导航栏的“创建规则”。
,单击左上角的
您也可以基于已经创建的规则,在规则详情页面,添加新的转发目标MySQL。
- 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考数据转发简介填写具体的流转规则参数,填写完成后单击“创建规则”。
参数名
参数说明
规则名称
自定义,如iotda-mysql。
规则描述
自定义,如数据转发至MySQL存储。
数据来源
选择“设备属性”。
触发事件
自动匹配“设备属性上报”。
资源空间
选择转发的数据来源所属的资源空间,或者所有资源空间。
- 单击“设置转发目标”页签,单击“添加”,设置转发目标。
参数名
参数说明
转发目标
选择“云数据库 MySQL(RDS)”
数据库实例地址
填写数据库实例的连接IP(或域名)和端口。
数据库名称
填写数据库实例中转发目标数据库名称。
访问账户
填写数据库实例的账户。
访问密码
填写数据库实例的密码。
SSL
选择是否通过SSL加密方式连接数据库。推荐使用SSL方式连接,不开启SSL方式连接可能存在数据传输安全风险。选择通过SSL方式连接时,需要先在数据库实例中设置SSL数据加密。
证书ID
Truststore证书,用于客户端校验服务端证书。不填默认使用云数据库 MySQL(RDS)提供的默认证书。使用自定义证书的MySQL(RDS)实例需要将自定义CA上传到 中,并在此处绑定。
- 单击“下一步:转发数据配置”,此过程会连接数据库。
- 选择转存表格,配置流转数据和数据库表的映射关系。
- 转发字段:流转数据的json key。
- 目标存储字段:数据库表的字段,选择目标存储字段后自动匹配字段类型。
图4 新建转发目标-设置Mysql字段映射
- 单击“启动规则”,激活配置好的数据转发规则。