文档

UpdateTopicConfig

更新时间:

调用该接口可设置自定义Topic的操作权限,及是否支持消息广播、是否开启代理订阅和是否开启压缩或解压缩。

使用说明

一个自定义Topic广播消息时,最多可被1,000个设备订阅。若后续需要新增更多设备订阅该自定义Topic的广播消息,可使用MQTT 5.0版本通信协议进行通信,通过设置自定义Topic支持消息广播和设置自定义Topic消息为保留消息来实现。

具体步骤为:

1. 调用本接口设置指定的自定义Topic(例如:/broadcast/a1Q5XoY****/test)支持消息广播,即EnableBroadcast设置为true

2. 调用Pub接口向该自定义Topic(例如:/broadcast/a1Q5XoY****/test)发布广播消息,并设置为保留消息,即Retained设置为true

3. 调用SubscribeTopic接口,新增设备订阅该自定义Topic(例如:/broadcast/a1Q5XoY****/test),设备即可收到上一步向该自定义Topic发送的保留消息。

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为100。

说明 RAM用户共享阿里云账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String UpdateTopicConfig

系统规定参数。取值:UpdateTopicConfig。

ProductKey String a1Q5XoY****

要接收消息的设备所属产品的ProductKey

TopicFullName String /broadcast/a1Q5XoY****/test

自定义Topic。

  • 对于开源MQTT托管形态设备和MQTT云网关设备,自定义Topic为设备的原始自定义Topic。详细内容,请参见Topic说明
  • 对于非开源MQTT托管形态设备和非MQTT云网关设备,自定义Topic的格式为/broadcast/${productKey}/${自定义字段}(要广播消息的自定义Topic)和/${productKey}/${deviceName}/user/${自定义字段}。其中${productKey}与请求参数ProductKey值一致,${自定义字段}为您自定义的任意字段。
重要 对于要广播消息的自定义Topic:
  • Topic是在设备开发时编码定义的,无需控制台创建。
  • Topic的操作权限必须为订阅发布和订阅
IotInstanceId String iot-0pp1n8t****

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无ID值,则无需传入。

实例的更多信息,请参见实例概述

EnableBroadcast Boolean true

是否支持消息广播。

  • true:是。
  • false:否。
Operation String SUB

设备对该Topic类的操作权限,取值:

  • SUB:订阅。
  • PUB:发布。
  • ALL:发布和订阅。
EnableProxySubscribe Boolean false

OperationSUB(订阅)或ALL(发布和订阅),可开启代理订阅。

取值:

  • true:开启。
  • false:不开启。

开启代理订阅后,设备与物联网平台建连时,物联网平台查询已开启代理订阅的Topic,帮助设备完成订阅。

Codec String compress

标准型和尊享型企业版实例下,可开启自定义Topic数据压缩或解压缩。

取值:

  • compress:压缩。
  • decompress:解压缩。

数据压缩功能详细内容,请参见数据压缩

Description String submit a test topic

Topic的描述信息。长度限制为100字符(一个中文汉字占一个字符)。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称

类型

示例值

描述

Code String iot.system.SystemException

调用失败时,返回错误码。详细信息,请参见下文错误码

Message String 系统异常

调用失败时,返回的出错信息。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateTopicConfig
&EnableBroadcast=true
&ProductKey=a1Q5XoY****
&TopicFullName=/broadcast/a1Q5XoY****/test
&IotInstanceId=iot-0pp1n8t****
&<公共请求参数>

正常返回示例

XML格式

<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Code/>
<Success>true</Success>

JSON格式

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Code": "",
    "Success": true
}