调用QueryMqttTraceMessageSubscribe查询指定消息的投递轨迹。当消息的收发不符合预期时,您可以通过该接口查看订阅该消息的客户端、消息的投递时间等详细信息,帮助您快速定位异常原因。
计费影响
每成功调用一次QueryMqttTraceMessageSubscribe接口,都会计算为一次消息TPS,从而影响您的计费。计费详情,请参见计费说明。
QPS限制
本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | QueryMqttTraceMessageSubscribe | 系统规定参数。取值:QueryMqttTraceMessageSubscribe。 |
MqttRegionId | String | 是 | cn-hangzhou | 云消息队列 MQTT 版实例地域(Region)的ID。请参见服务接入点。 |
InstanceId | String | 是 | mqtt-cn-i7m26mf**** | 云消息队列 MQTT 版实例的ID,一定要和客户端实际使用的实例ID匹配。您可以在控制台实例详情页面的基础信息区域查看。 |
Reverse | Boolean | 是 | false | 返回结果是否倒序显示。取值说明如下:
若不输入,则返回结果默认按照消息的投递时间顺序显示。 |
ClientId | String | 是 | GID_test@@@consumer | 指定订阅消息的客户端ID。若不输入,则返回所有订阅该消息的客户端信息。 |
BeginTime | Long | 是 | 1621936800000 | 查询范围的起始时间戳。单位:毫秒。 |
EndTime | Long | 是 | 1618646400000 | 查询范围的终止时间戳。单位:毫秒。 |
CurrentPage | Integer | 是 | 1 | 当前取第几页消息,从1开始递增。若输入参数大于总页数,则返回结果为空。 |
PageSize | Integer | 是 | 5 | 分页查询,每页最多显示的消息数量,最小1条,最多100条。 |
MsgId | String | 是 | AC1EC1B33D5978308DB17F3245E4**** | 消息ID,即Message ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
CurrentPage | Integer | 1 | 当前位于第几页。 |
RequestId | String | 4E685844-ADAF-4D85-9EAC-F9471E8C**** | 公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
PageSize | Integer | 5 | 每页最多显示的消息数量。 |
Total | Long | 2 | 查询到的消息轨迹总数。 |
MessageTraceLists | Array of MessageTraceLists | 返回的消息投递轨迹列表。 |
|
Time | String | 2021-05-25 16:46:41.274 | 消息的投递时间。 |
Action | String | sub | 消息动作。取值说明如下:
|
ActionCode | String | mqtt.trace.action.msg.sub | 消息动作的返回码。取值说明如下:
|
ActionInfo | String | Push To Mqtt Client | 消息动作的说明信息。取值说明如下:
|
MsgId | String | AC1EC1B33D5978308DB17F3245E4**** | 消息ID,即Message ID。 |
ClientId | String | GID_test@@@consumer | 订阅消息的客户端ID。 |
示例
请求示例
http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=QueryMqttTraceMessageSubscribe
&MqttRegionId=cn-hangzhou
&InstanceId=mqtt-cn-i7m26mf****
&ClientId=GID_test@@@consumer
&MsgId=AC1EC1B33D5978308DB17F3245E4****
&EndTime=1618646400000
&BeginTime=1621936800000
&CurrentPage=1
&PageSize=5
&Reverse=false
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<QueryMqttTraceMessageSubscribeResponse>
<MessageTraceLists>
<Action>sub</Action>
<ActionCode>mqtt.trace.action.msg.sub</ActionCode>
<ClientId>GID_test@@@consumer</ClientId>
<ActionInfo>Push To Mqtt Client</ActionInfo>
<Time>2021-05-25 16:46:41.274 </Time>
<MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>
</MessageTraceLists>
<MessageTraceLists>
<Action>sub</Action>
<ActionCode>mqtt.trace.action.msg.sub</ActionCode>
<ClientId>GID_test@@@consumer2</ClientId>
<ActionInfo>Push To Mqtt Client</ActionInfo>
<Time>2021-05-25 16:46:41.247 </Time>
<MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>
</MessageTraceLists>
<RequestId>4E685844-ADAF-4D85-9EAC-F9471E8C****</RequestId>
<PageSize>5</PageSize>
<CurrentPage>1</CurrentPage>
<Total>2</Total>
</QueryMqttTraceMessageSubscribeResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"MessageTraceLists" : [ {
"Action" : "sub",
"ActionCode" : "mqtt.trace.action.msg.sub",
"ClientId" : "GID_test@@@consumer",
"ActionInfo" : "Push To Mqtt Client",
"Time" : "2021-05-25 16:46:41.274",
"MsgId" : "AC1EC1B33D5978308DB17F3245E4****"
}, {
"Action" : "sub",
"ActionCode" : "mqtt.trace.action.msg.sub",
"ClientId" : "GID_test@@@consumer2",
"ActionInfo" : "Push To Mqtt Client",
"Time" : "2021-05-25 16:46:41.247",
"MsgId" : "AC1EC1B33D5978308DB17F3245E4****"
} ],
"RequestId" : "4E685844-ADAF-4D85-9EAC-F9471E8C****",
"PageSize" : 5,
"CurrentPage" : 1,
"Total" : 2
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
500 | SystemOverFlow | An error occurred while processing your request. Please try again. | 系统限流,请重试。 |
404 | ApiNotSupport | The specified API is not supported. | 当前接口不支持,请检查。 |
访问错误中心查看更多错误码。
控制台操作
除了调用QueryMqttTraceMessageSubscribe接口,您还可以通过微消息队列MQTT版控制台查看消息的投递轨迹。具体操作,请参见消息轨迹查询。