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