Topic管理

更新时间:
复制 MD 格式

MQTT协议基于Pub/Sub模型,因此任何消息都属于一个Topic。根据MQTT协议,Topic存在多级,定义第一级Topic为父级Topic,在使用云消息队列 MQTT 版前,需先创建该父级Topic资源。

注意事项

  • Topic不能跨实例使用,例如不能使用实例B的接入点订阅创建在实例A中的Topic。

  • 子级 Topic 无需在控制台手动创建,只需在客户端代码中声明即可自动生效(自动创建);父级 Topic 必须通过控制台或 API 预先创建。有关父子级 Topic 的详细信息,请参见基本概念

  • 每个父级Topic下仅允许100个通配符订阅关系。详情请参见客户端限制

  • Group 用于设备组标识和权限控制,Topic 是消息通道,二者独立管理,创建 Topic 时无需关联 Group。

  • 在同一实例下区分测试和生产环境时,建议为不同环境配置独立的父级 Topic、Group ID 和 Client ID 进行逻辑隔离。发送和订阅消息时,切勿混用不同环境的资源,否则可能导致消息互相干扰、客户端被踢下线或收错消息等问题。

创建Topic

  1. 登录云消息队列 MQTT 版控制台,并在左侧导航栏单击实例列表

  2. 在顶部菜单栏选择目标地域,然后在实例列表中单击实例名称进入实例详情页面。

  3. 在左侧导航栏单击Topic 管理,然后在页面左上角,单击创建 Topic
  4. 在创建Topic面板中,输入要创建的Topic名称描述,然后在左下角单击确定

删除Topic

警告 Topic删除后,相关的生产者、消费者将会立即停止服务,Topic元数据和Topic的消息数据也会被同时删除且不可恢复,请您谨慎使用该操作。
  1. 进入Topic 管理页面。
  2. Topic列表中,找到需要删除的目标Topic,在其操作列中,选择更多 > 删除
  3. 在弹出的对话框中单击确认

更新Topic

  1. 进入Topic 管理页面。
  2. Topic列表中,找到需要更新的目标Topic,单击Topic名称。
  3. Topic 详情页面的基础信息区域中,单击描述后的编辑,在文本框中输入修改后的Topic描述,并单击确定完成修改。

查询Topic

  1. 进入Topic 管理页面。
  2. Topic列表中,找到需要查询的目标Topic,单击Topic名称进入Topic 详情页面。

常见问题

如何限制微消息队列 MQTT 版的流量进入?

云消息队列 MQTT 版本身不提供直接的流量入口限制规则。如需紧急阻断流量,可通过以下方式实现:

  1. 删除生成用户名密码的 AccessKey(AK)。

    警告

    若该 AK 被其他产品共用,请勿删除。

  2. 删除对应的 Topic 或 Group 资源。

    警告

    删除后数据不可恢复。

使用 + 通配符订阅多个分片 Topic 时部分消息无法接收怎么办?

该问题通常与客户端订阅数量限制或订阅 ACK 机制有关。建议按以下方向排查:

  1. 检查客户端订阅关系数量是否超过限制。每个父级 Topic 下仅允许 100 个通配符订阅关系。

  2. 确认客户端是否正确处理了订阅 ACK,避免因未 ACK 导致后台订阅状态异常。

  3. 如调整订阅数量后仍存在问题,请提交工单并提供 Client ID 及具体 Topic 信息,以便进一步排查。

相关文档