MysQL broker_规则示例 - 保存数据到 MySQL - 《EMQ X Broker v4.1 使用教程》 - 书栈网 · 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;

2548d77edf7b2e86e0e42113cdddbcdf.png

创建规则:

打开 EMQ X Dashboard,选择左侧的 “规则” 选项卡。

填写规则 SQL:

SELECT*FROM"t/#"

f6d99b42e2803b43513bef5c182334b4.png

关联动作:

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

22d5df0d4178488888cd736c66e1bad8.png

填写动作参数:

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

1). SQL 模板。这个例子里我们向 MySQL 插入一条数据,SQL ​ 模板为:

insertintot_mqtt_msg(msgid,topic,qos,payload,arrived)values(${id},${topic},${qos},${payload},FROM_UNIXTIME(${timestamp}/1000))

5b0d7d61fc41bfdb2fb3799783160a09.png

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

填写资源配置:

数据库名填写 “mqtt”,用户名填写 “root”,密码填写 “123456”

71bbabfb23590fe9f13cbea1086f438e.png

点击 “新建” 按钮。

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

0e0940d8e745919249e87092ab83b3dc.png

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

f312b643d683b0fe4027c73a6c6c8d07.png

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

45d3fc482fa8cec4806da7ca99ac4db6.png

规则已经创建完成,现在发一条数据:

Topic:"t/a"

QoS:1

Payload:"hello"

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

6faf8a0446b21104806739d7e670d399.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值