使用 MQTT 收发消息需要先购买 MQTT 实例,并申请 Topic 和 MQTT Group ID 资源,否则服务端会拒绝非法的 Client ID 的连接。
购买 MQTT 实例(2017 年 4 月 24 日商业化后)
可以直接登录 MQ 控制台购买实例,或者在 MQ 产品首页点击
购买。控制台操作如下:
用 RAM 主账号登录 MQ 控制台,在左侧导航栏选择 [backcolor=transparent]MQTT 管理 > [backcolor=transparent]MQTT 实例管理。
[backcolor=transparent]注意:RAM 子账号不能创建 MQTT 实例,在控制台也无法看到 MQTT 实例信息,请用主账号进行资源申请。
在实例管理页面,单击右上角新建实例按钮,跳转到阿里云产品购买页面。根据自己的业务场景选择预付费或者后付费实例。
[backcolor=transparent]注意:
- 每个用户在每个 Region 下,每个类型的实例目前仅限购买1个,即一个用户在一个 Region 下最多拥有一个基础版和一个铂金版实例。
- 请根据业务场景估算 TPS、连接数和订阅关系,选择合理的规格。选择过小的规格会触发服务限流影响业务。
- 购买普通版实例实时生效,购买铂金版实例需要 MQ 后端人员介入部署,实例可运行时会通知用户验收。
购买完成后即可在 MQ 控制台[backcolor=transparent] MQTT 实例管理页面看到实例概况。
[backcolor=transparent]说明:此页面给出的接入点域名可用于业务代码中进行服务访问。
申请 MQTT Topic
使用 MQTT 协议收发消息,需要申请 MQTT 的 Parent Topic(一级父 Topic)。多级子 Topic 无需申请,直接在代码中使用即可。
如之前在使用 MQ 时已经申请过 Topic,则直接申请 Group ID 即可。如果没有申请,请参考
申请 Topic。
[backcolor=transparent]注意:如果使用的 Topic 类型为顺序消息,在 MQTT 场景下不保证消息顺序。因此建议使用无序 Topic。
申请 MQTT Group ID
MQTT Group ID 用于指定一组逻辑功能完全一致的节点共用的组名,代表一类相同功能的设备。Group ID 和 Device ID 共同组成用于识别 MQTT 客户端的 Client ID。
在 MQ 控制台 Topic 管理页面,找到上一步申请的 Topic,单击右侧操作选项栏的[backcolor=transparent]申请 MQTT Group ID。
在弹出的对话框中输入需要申请的 Group ID 并单击[backcolor=transparent]确定。
[backcolor=transparent]注意: MQTT Group ID 的命名必须以“GID_”开头,长度限制在7-32个字节,内容仅限于数字和字母。如果输入不合法字符或者长度不符合,将显示参数校验错误。
申请完成后会跳转到 MQTT Group ID 管理页面。该页面显示当前 Region 下当前账号拥有的 MQTT Group ID。[backcolor=transparent]注意:
- 申请 MQTT Group ID 必须拥有特定 Topic 的读写权限。
- 目前华北 1 Region 暂不支持 MQTT,因此控制台上无法申请对应的资源。
- 如果 Group ID 不再使用,请及时删除。