EMQX 读写数据
EMQX 是一款开源的高可用分布式 MQTT 消息服务器。KaiwuDB 提供了 RESTful API 功能,可以将 EMQX 管理的数据同步写入 KaiwuDB 数据库。
用户在 EMQX Dashboard 配置 KaiwuDB 的连接和请求信息后,EMQX 即可自动将接收到的 MQTT 消息转化为包含 INSERT
语句的 HTTP 请求,通过 RESTful API 的 Insert 接口写入 KaiwuDB 中的指定数据表。有关 Insert 接口的具体信息,参见 Insert 接口。
配置 EMQX
前提条件
安装 KaiwuDB 数据库,创建数据库以及具有表级别及以上操作权限的用户。
在 KaiwuDB 数据库创建需要插入数据的目标表,且发送 API 请求的用户拥有目标表的 INSERT 权限。
获取用户登录所需的令牌。
说明
默认情况下,系统生成的令牌有效期为
60
分钟。如果两次数据上报的间隔超过60
分钟,用户需要在令牌过期前生成新的令牌,或者根据业务需求通过SET CLUSTER SETTING server.rest.timeout=<value>
SQL 语句设置令牌的有效期。可配置范围为[1, 2^63-1]
,单位为分钟。如果数据上报间隔总是小于60
分钟,系统会自动对令牌进行延期。curl -L -k -H "Authorization: Basic <base64(user:password)>" -X GET <node_ip>:8080/restapi/login
参数说明:
Base64(user:password)
:Base64 编码后的用户名和密码信息。node_ip
:节点的 IP 地址。
安装并启动 EMQX。具体安装和启动步骤,参见 EMQX 官方文档。
配置步骤
本章及以 EMQX 5.0.19 版本为例,介绍如何在 EMQX Dashboard 配置连接和请求信息。不同版本的界面、配置方式和功能可能有所不同。
登录 EMQX Dashboard。默认端口为
18083
,默认用户名和密码为admin
和public
。在左侧导航栏,单击数据集成 > 数据桥接,然后单击创建,创建 Webhook 数据桥接类型。
在数据桥接页面,配置请求方法、URL、用户令牌等信息。
在数据桥接页面的请求体对话框中,输入 SQL 语句。
在左侧导航栏,单击数据集成 > 规则,然后单击新建。
在创建规则页面,输入 SQL 语句,然后单击添加动作。
在添加动作页面,选择
使用数据桥接转发
和并选择已创建的数据桥接。
有关 EMQX 规则和资源的更多详细信息,参见 EMQX 官方文档。