文档中心
登录
注册
云原生消息引擎
文档指南
云原生消息引擎
云原生消息引擎
文档指南
请输入
产品动态
新功能发布记录
产品计费
计费说明
续费说明
欠费或到期说明
退订或变配费用说明
BMQ 实例用户指南
BMQ 简介
什么是 BMQ
应用场景
实例规格
名词解释
地域和可用区
消息队列|MQ
快速入门
创建 BMQ 资源
使用 Java SDK 收发消息
控制台指南
实例管理
实例生命周期管理
创建 BMQ 实例
查看 BMQ 实例详情
变更实例规格
删除 BMQ 实例
实例配置管理
切换子网和安全组
修改全局消息保留时长
实例连接管理
配置私网访问
配置公网解析
配置公网访问
Topic 管理
创建 Topic
扩容 Topic 分区数
预览 Topic 数据
查看 Topic 详情
修改消息保留时长
删除 Topic
Group管理
创建 Group
重置消费位点
查看 Group 详情
删除 Group
消息查询
消息查询
下载消息
SASL 用户管理
创建 SASL 用户
配置用户 All Permitted 功能
查看 SASL 用户密码
删除 SASL 用户
ACL 管理
创建 ACL
删除 ACL
监控告警
查看监控数据
配置告警策略
最佳实践
Topic 单分区流量监测
通过函数服务消费云原生消息引擎 BMQ
消费者最佳实践
SDK 参考
Java SDK
Go SDK
Python SDK
API 参考
开发前必读
API 概览
如何调用API
请求结构
公共参数
认证鉴权
返回结果
实例规格
ListSpecifications - 查询 BMQ 售卖规格列表
实例管理
CreateInstance - 创建实例
DeleteInstance - 删除实例
ModifyInstanceTag - 编辑实例标签
DescribeInstance - 查询实例详情
SearchInstances - 查询实例
UpdateInstanceMessageRetention - 修改实例消息保留时长
ListInstanceResourceStats - 查询多个实例资源
DescribeInstanceResourceStat - 查询单个实例资源
实例连接管理
EnableOverlayAccess - 开启私有网络访问
DisableOverlayAccess - 关闭私有网络访问
ModifyOverlayAccess - 修改私有网络
ListAvailableVPCForBMQ - 查询可用 VPC 列表
ListAvailableSecurityGroupsForBMQ - 查询可用安全组列表
EnablePublicAccess - 开启公网访问
DisablePublicAccess - 关闭公网访问
ListAvailableVPCForBMQ - 获取对 BMQ 可用的 VPC 列表
ListAvailableSubnetsForBMQ - 获取对 BMQ 可用的子网列表
DescribeAvailableZones - 区域可用区列表
ListAvailableSecurityGroupsForBMQ - 获取对 BMQ 可用的安全组列表
Topic 管理
CreateTopic - 创建 Topic
DeleteTopic - 删除 Topic
ScaleUpTopic - 扩容 Topic 分区数量
DescribeTopic - 查询 Topic 详情
SearchTopics - 查询 Topic
DescribePartitionsInTopic - 查询 Topic 分区
DescribeGroupsInTopic - 查询订阅消费组列表
UpdateTopicMessageRetention - 修改 Topic 消息保留时长
PreviewTopicData - 预览 Topic 数据
DescribeTopicTimeRange - 查询 Topic 消息生产时间范围
TopicExist - 判断 Topic 是否存在
Group 管理
CreateGroup - 创建消费组
DeleteGroup - 删除消费组
GroupExist - 判断消费组是否存在
DescribeGroup - 查询消费组详情
SearchGroups - 查询消费组列表
DescribeTopicsInGroup - 查询订阅 Topic 列表
DescribeSubscription - 查询订阅分区列表
ResetSubscriptionOffset - 重置消费位点
BMQ 常见问题
MQTT 实例用户指南
MQTT 简介
什么是云原生消息引擎MQTT版
功能特性
名词解释
MQTT 扩容及升级风险须知
消息队列|MQ
控制台指南
MQTT 实例管理
创建 MQTT 实例
查看 MQTT 实例信息
扩容 MQTT 实例
删除 MQTT 实例
监听器管理
添加公网监听器
添加私网监听器
删除监听器
用户管理
创建用户
编辑用户
修改用户密码
删除用户
API 密钥管理
创建 API 密钥
启停 API 密钥
编辑 API 密钥
删除 API 密钥
MQTT Agent
MQTT Agent 概述
使用 MQTT Agent
API 参考
MQTT监听器
CreateDashboardEndpoint - 新建 dashboard 访问接入点
DeleteDashboardEndpoint - 删除 dashboard 访问接入点
MQTT密钥
UnRegisterDeviceCredential - 删除 MQTT 用户设备访问凭证
RefreshDeviceCredential - 更新 MQTT 用户设备访问凭证
DescribeDeviceCredential - 查询 MQTT 用户设备访问凭证
RegisterDeviceCredential - 注册 MQTT 用户设备访问凭证
MQTT公共API
DescribeMQTTClients - 查询 EMQX 客户端连接信息列表
Dashboard指南
登录 Dashboard
监控
集群概览
客户端
订阅管理
保留消息
延迟发布
访问控制
客户端认证
客户端认证概述
创建客户端认证
创建 Password-Based 认证
创建 JWT 认证
创建 SCRAM 认证
管理客户端认证
用户管理
查看认证概览
客户端授权
客户端授权概述
创建客户端授权
管理客户端授权
配置内置数据库授权规则
查看授权概览
配置授权
黑名单
创建黑名单
删除黑名单
连接抖动
配置连接抖动
集成
Flow 设计器
创建 Flow
查看 Flow
规则
创建规则
管理规则
查看规则
连接器
创建连接器
管理连接器
管理
集群配置
MQTT 配置
日志
监控
MQTT 高级特性
主题重写
自动订阅
延迟发布
问题分析
主题监控
慢订阅
日志追踪
系统设置
审计日志
备份与恢复
最佳实践
快速构建第一个 MQTT 连接
MQTTX CLI测试 EMQX
eMQTT-Bench 测试 EMQX
通过自动订阅实现 p2p 指令发布
设备状态汇报到 Kafka
导出 OpenTelemetry 数据
使用 RestAPI 修改集群状态
Proxy Protocol 协议透传
实时获取主题下丢弃的消息条数
遗嘱消息获取设备异常下线
从 EMQX v5 迁移到 MQTT 云服务
MQTT 集成 Trace 到 TLS
相关协议
云原生消息引擎(BMQ)服务等级协议
文档首页
云原生消息引擎
MQTT 实例用户指南
最佳实践
快速构建第一个 MQTT 连接
复制全文
下载 pdf
我的收藏
最佳实践
快速构建第一个 MQTT 连接
复制全文
下载 pdf
我的收藏
快速构建第一个 MQTT 连接
文档反馈
问问助手
云原生消息引擎 MQTT 版与火山引擎的多个云产品组合,可以支持大规模的 MQTT 连接。MQTT 的企业级产品中涉及云产品控制台、EMQX Dashboard、MQTT 认证、鉴权、接入 等多个概念。本文组合多个文档,为首次使用 MQTT 的客户快速构建第一个 MQTT 连接。
准备工作
创建云原生消息引擎 MQTT 实例,详细操作请参见
创建 MQTT 实例
。
创建弹性公网 IP,详细操作请参见
申请公网 IP
。
(可选)安装MQTT 客户端工具 MQTTX,参考
MQTTX 官方安装文档
。
操作流程
配置公网接入
免密接入 EMQX
Password-Based 认证接入
(可选)通过 MQTTX 连接 EMQX 实例
配置公网接入
查看 MQTT 实例状态。
详细操作请参见
查看 MQTT 实例信息
。
新增公网接入点。
云原生消息引擎支持创建一个公网接入的 MQTT 接入点,即可实现公网的 MQTT 设备接入,详见
添加公网监听器
。
路由类型选择
公网
绑定已有的空闲
公网 IP
协议选择为
TCP
协议
免密接入 EMQX
Paho 提供了一系列库,允许开发者使用 MQTT 协议进行消息通信。对于 Python SDK,可以使用 pip 安装 paho-mqtt,通过它来连接 MQTT 服务器、发布消息和订阅主题。
安装 paho-mqtt。
Python
复制
pip install paho-mqtt
python3 构建 MQTT 连接。
创建
公网接入点
后,在控制台看到
公网接入地址。
替换新的 broker_address 接入 emqx。
SQL
复制
import paho.mqtt.client
as
mqtt
# 当客户端连接到服务器时调用此回调函数
def on_connect(client, userdata, flags, rc):
print("连接结果码:", rc)
# 当收到消息时调用此回调函数
def on_message(client, userdata, msg):
print("收到消息,主题:", msg.topic, "内容:", msg.payload.decode())
# 创建一个 MQTT 客户端实例
client
=
mqtt.Client()
# 绑定回调函数
client.on_connect
=
on_connect
client.on_message
=
on_message
# 连接到指定的 MQTT 服务器,不使用 SSL,不需要用户名密码
# 修改 emqx broker 位置,将控制台的公网接入点地址复制到 broker_address
broker_address
=
"mqtt-xxxxxxxxxx.mqtt.volces.com"
broker_port
=
1883
client.connect(broker_address, broker_port, keepalive
=
60
)
# 开始网络循环,等待并处理 MQTT 消息
client.loop_forever()
检查 MQTT 设备连接状态。
登录 MQTT Dashboard。
详细操作参见
登录 Dashboard
。
在左侧导航栏选择
监控
>
客户端
,查看当前设备的连接状态以及连接详情。
Password-Based 认证接入
登录
云原生消息引擎控制台
。
创建用户。
Dashboard 用户采用 RBAC(Role Based Access Control)模型,详见
创建用户
。
首次访问 MQTT Dashboard 时,需要配置 Dashboard 的用户名、密码、角色。此处角色建议设置为
管理员
,以便于后续演示操作。
登录 Dashboard。
MQTT Dashboard 默认配置为公网可访问,通过 Dashboard 地址可以接入 MQTT Dashboard,详见
登录 Dashboard
。
配置 MQTT 客户端连接认证方式。
EMQX 通过内置数据库为用户提供了一种低成本、开箱即用的密码认证方式。启用后,EMQX 会将内置的 Mnesia 数据库存储客户端身份凭据,详见
客户端认证概述
。
创建
Password-Based 认证,详细操作请参见
创建 Password-Based 认证
。
数据源选择
内置数据库
(默认)
账号类型选择
username
(默认)
密码加密方式选择
sha256
(默认)
加盐方式
suffix
(默认)
配置认证使用的用户名和密码。
添加 MQTT 客户端认证所使用的用户名和密码,详细操作请参见
单个添加用户
。
用户名配置为
user
密码配置为
123456
配置 MQTT 客户端权限。
通过配置 MQTT 客户端授权机制,无需编写代码或手动编辑配置文件,即可实现对 MQTT 客户端连接后的发布和订阅操作进行权限控制。
详见
客户端授权概述
。
创建内置数据库授权,并添加一条针对所有用户的主题为
devices/#
的发布和订阅时允许权限,详细操作请参见
创建内置数据库授权
和
针对所有用户授权
。
Python3 paho 用户名密码接入 EMQX。
Python
复制
import
paho.mqtt.client
as
mqtt
# 连接成功回调函数
def
on_connect
(
client, userdata, flags, rc
):
print
(
"连接返回码:"
, rc)
# 消息接收回调函数
def
on_message
(
client, userdata, msg
):
print
(
"主题:"
, msg.topic)
print
(
"消息:"
, msg.payload.decode())
# 创建 MQTT 客户端实例
client = mqtt.Client()
# 设置用户名和密码
client.username_pw_set(
"user"
,
"123456"
)
# 绑定回调函数
client.on_connect = on_connect
client.on_message = on_message
# 连接到 MQTT 服务器(不使用 SSL)
client.connect(
"mqtt-0040ogedpfhc.mqtt.volces.com"
,
1883
,
60
)
# 开启网络循环,保持连接
client.loop_forever()
检查 MQTT 连接状态。
通过 MQTTX 连接 EMQX 实例(可选)
MQTTX
是由 EMQ 开发的一款开源跨平台 MQTT 5.0 桌面客户端,它兼容 macOS,Linux 以及 Windows 系统。用户界面采用聊天式设计,使得操作逻辑更加简明直观。它支持用户快速创建和保存多个 MQTT 连接,便于测试 MQTT 连接,以及消息的订阅和发布。
登录 MQTTX 客户端。
通过配置服务器地址、端口、用户名、密码接入云原生消息引擎 MQTT 版。
最近更新时间:2025.08.04 17:46:11
这个页面对您有帮助吗?
有用
有用
无用
无用