emq数据储存到mysql,规则引擎示例 - 保存数据到 MySQL - 《EMQ X Enterprise v4.0 中文文档》 - 书栈网 · BookStack...

保存数据到 MySQL

搭建 MySQL 数据库,并设置用户名密码为 root/public,以 MacOS X 为例:$ brew install mysql

$ brew services start mysql

$ mysql-u root-h localhost-p

ALTER USER'root'@'localhost'IDENTIFIED BY'public';

初始化 MySQL 表:$ mysql-u root-h localhost-ppublic

创建 “test” 数据库:CREATE DATABASE test;

创建 t_mqtt_msg 表:USE test;

CREATE TABLE`t_mqtt_msg`(

`id`int(11)unsignedNOT NULL AUTO_INCREMENT,

`msgid`varchar(64)DEFAULT NULL,

`topic`varchar(255)NOT NULL,

`qos`tinyint(1)NOT NULL DEFAULT'0',

`payload`blob,

`arrived`datetime NOT NULL,

PRIMARY KEY(`id`),

INDEX topic_index(`id`,`topic`)

)ENGINE=InnoDBDEFAULT CHARSET=utf8MB4;

8d1f600569d9971c1924cca7a6be780b.png

创建规则:

选择触发事件 “消息发布”,然后填写规则 SQL:SELECT*FROM"#"

2fcedcc49521410d824504b3acc5b219.png

关联动作:

在 “响应动作” 界面选择 “添加”,然后在 “动作” 下拉框里选择 “保存数据到 MySQL”。

4450428420628d2b7917d41e9250d68e.png

填写动作参数:

“保存数据到 MySQL” 动作需要两个参数:

1). SQL 模板。这个例子里我们向 MySQL 插入一条数据,SQL 模板为:insertintot_mqtt_msg(msgid,topic,qos,payload,arrived)values(${id},${topic},${qos},${payload},FROM_UNIXTIME(${timestamp}/1000))

56476a41180308e8a4ea5a15326f9519.png

2). 关联资源的 ID。现在资源下拉框为空,可以点击右上角的 “新建资源” 来创建一个 MySQL 资源:

0faac9473cf71f1f0987ad6cc0fa1d77.png

选择 “MySQL 资源”。

填写资源配置:

数据库名填写 “test”,用户名填写 “root”,密码填写 “publish”,备注为 “MySQL resource to 127.0.0.1:3306 db=test”

442a5d09ca232208ae59c0420bc4283a.png

点击 “新建” 按钮。

返回响应动作界面,点击 “确认”。

5b17ec8975374405de988bc84dbaba1a.png

返回规则创建界面,点击 “新建”。

f6826e1c5e8c5e4ad3607824b940e5ea.png

在规则列表里,点击 “查看” 按钮或规则 ID 连接,可以预览刚才创建的规则:

204ad9feee52387afd72c342caf9ecc5.png

规则已经创建完成,现在发一条数据:Topic:"t/a"

QoS:1

Payload:"hello"

然后检查 MySQL 表,新的 record 是否添加成功:

97e904f028b973d055fcb274864286cd.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值