homework-jianmu/docs/zh/06-advanced/05-data-in/07-mqtt.md

5.5 KiB
Raw Blame History

title sidebar_label
MQTT MQTT

本节讲述如何通过 Explorer 界面创建数据迁移任务, 从 MQTT 迁移数据到当前 TDengine 集群。

功能概述

MQTT 表示 Message Queuing Telemetry Transport (消息队列遥测传输)。它是一种轻量级的消息协议,易于实现和使用。

TDengine 可以通过 MQTT 连接器从 MQTT 代理订阅数据并将其写入 TDengine以实现实时数据流入库。

创建任务

1. 新增数据源

在数据写入页面中,点击 +新增数据源 按钮,进入新增数据源页面。

mqtt-01.png

2. 配置基本信息

名称 中输入任务名称“test_mqtt”

类型 下拉列表中选择 MQTT

代理 是非必填项,如有需要,可以在下拉框中选择指定的代理,也可以先点击右侧的 +创建新的代理 按钮

目标数据库 下拉列表中选择一个目标数据库,也可以先点击右侧的 +创建数据库 按钮

mqtt-02.png

3. 配置连接和认证信息

MQTT 地址 中填写 MQTT 代理的地址,例如:192.168.1.42

MQTT 端口 中填写 MQTT 代理的端口,例如:1883

用户 中填写 MQTT 代理的用户名。

密码 中填写 MQTT 代理的密码。

mqtt-03.png

4. 配置 SSL 证书

如果 MQTT 代理使用了 SSL 证书,需要在 SSL证书 中上传证书文件。

mqtt-04.png

5. 配置采集信息

采集配置 区域填写采集任务相关的配置参数。

MQTT 协议 下拉列表中选择 MQTT 协议版本。有三个选项:3.13.1.15.0。 默认值为 3.1。

Client ID 中填写客户端标识,填写后会生成带有 taosx 前缀的客户端 id (例如,如果填写的标识为 foo,则生成的客户端 id 为 taosxfoo)。如果打开末尾处的开关,则会把当前任务的任务 id 拼接到 taosx 之后,输入的标识之前(生成的客户端 id 形如 taosx100foo)。连接到同一个 MQTT 地址的所有客户端 id 必须保证唯一。

Keep Alive 中输入保持活动间隔。如果代理在保持活动间隔内没有收到来自客户端的任何消息,它将假定客户端已断开连接,并关闭连接。 保持活动间隔是指客户端和代理之间协商的时间间隔,用于检测客户端是否活动。如果客户端在保持活动间隔内没有向代理发送消息,则代理将断开连接。

Clean Session 中,选择是否清除会话。默认值为 true。

订阅主题及 QoS 配置 中填写要消费的 Topic 名称。使用如下格式设置: topic1::0,topic2::1

点击 检查连通性 按钮,检查数据源是否可用。

mqtt-05.png

6. 配置 MQTT Payload 解析

MQTT Payload 解析 区域填写 Payload 解析相关的配置参数。

taosX 可以使用 JSON 提取器解析数据,并允许用户在数据库中指定数据模型,包括,指定表名称和超级表名,设置普通列和标签列等。

6.1 解析

有三种获取示例数据的方法:

点击 从服务器检索 按钮,从 MQTT 获取示例数据。

点击 文件上传 按钮,上传 CSV 文件,获取示例数据。

消息体 中填写 MQTT 消息体中的示例数据。

json 数据支持 JSONObject 或者 JSONArray使用 json 解析器可以解析一下数据:

{"id": 1, "message": "hello-word"}
{"id": 2, "message": "hello-word"}

或者

[{"id": 1, "message": "hello-word"},{"id": 2, "message": "hello-word"}]

解析结果如下所示:

mqtt-06.png

点击 放大镜图标 可查看预览解析结果。

mqtt-07.png

6.2 字段拆分

从列中提取或拆分 中填写从消息体中提取或拆分的字段,例如:将 message 字段拆分成 message_0message_1 这2 个字段,选择 split 提取器seperator 填写 -, number 填写 2。

mqtt-08.png

点击 删除,可以删除当前提取规则。

点击 新增,可以添加更多提取规则。

点击 放大镜图标 可查看预览提取/拆分结果。

mqtt-09.png

6.3 数据过滤

过滤 中,填写过滤条件,例如:填写id != 1,则只有 id 不为 1 的数据才会被写入 TDengine。

mqtt-10.png

点击 删除,可以删除当前过滤规则。

点击 放大镜图标 可查看预览过滤结果。

mqtt-11.png

6.4 表映射

目标超级表 的下拉列表中选择一个目标超级表,也可以先点击右侧的 创建超级表 按钮

映射 中,填写目标超级表中的子表名称,例如:t_{id}。根据需求填写映射规则,其中 mapping 支持设置缺省值。

mqtt-12.png

点击 预览,可以查看映射的结果。

mqtt-13.png

7. 高级选项

日志级别 下拉列表中选择日志级别。有五个选项:TRACEDEBUGINFOWARNERROR。 默认值为 INFO。

保存原始数据时以下2个参数配置生效。

最大保留天数 中设置原始数据的最大保留天数。

原始数据存储目录 中设置原始数据保存路径。

mqtt-14

8. 创建完成

点击 提交 按钮,完成创建 MQTT 到 TDengine 的数据同步任务,回到数据源列表页面可查看任务执行情况。