# 目标实现:
**阿里云物联网平台某设备实时数据(MQTT协议上云)同步存储到RDS MySQL数据库**
# 实现步骤:
`注意:以下实现默认MQTT上云已经完成,可实时上传数据`
1、物联网平台接收到数据通过规则引擎转发至DataHub。
2、在DataHub中通过DataConnector将数据同步到RDS MySQL数据库中
[阿里云教程概述](https://help.aliyun.com/document_detail/92024.html?spm=a2c4g.11186623.6.1062.2ff21f67pr8772)
![image-20210723231641378](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723231641378.png)
# 细节!!!拿来吧你!
## 1、创建RDS MySQL数据库表
这步的依据是什么?
答:物联网平台的设备有什么数据?以我这边的情况为例,有甲醛、PM2.5。
![image-20210723233430175](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723233430175.png)
思考:是不是现在新建一张数据表,表中创建两个就可以字段,分别是HCHO(甲醛)、PM25(PM2.5)就可以了呢?
答:表结构实际上有点问题,因为这样的话那`主键未明确`,后面还要查出来看的,不单单是存着就好,于是这里决定再加一个字段id作为主键(或许也可考虑复合主键,),`并设置自动递增,因为原设备上云数据中没有对应id的值`,然后可以再加两个字段`create_time 和 devicename`,`create_time 和 devicename的值`可通过`阿里云内置函数`获取,后面会讲到。
![image-20210723235021055](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723235021055.png)
至此,第一步就完成了
## 2、创建DataHub项目
DataHub通俗理解:它是一条线,把两个阿里云的产品连起来,通过一些转发规则完成产品之间的数据流转(我瞎扯的可能不准确,具体可看官网文档)
1、开通服务(有个梗:这游戏求你下一个吧,不用钱好吧)
2、创建项目
![image-20210724001052217](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724001052217.png)
点击新建项目,随便填,我这里填项目名`alice_air`
![image-20210724001409258](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724001409258.png)
3、新建Topic
Topic通俗理解:一个话题,物联网平台后面需要去订阅这个话题,把数据同步到Datahub
![image-20210724002619605](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724002619605.png)
4、同步到RDS MySQL数据库
`注意:我这里先配完DataHub同步数据库,后配置物联网同步到DataHub,当然你也可以先配物联网同步到DataHub,看看DataHub有没有`实时流量`显示`