调用QueryMqttTraceMessagePublish查询指定消息的发送轨迹。当消息的收发不符合预期时,您可以通过该接口查看消息的发布时间、发布客户端等详细信息,帮助您快速定位异常原因。

计费影响

每成功调用一次QueryMqttTraceMessagePublish接口,都会计算为一次消息TPS,从而影响您的计费。计费详情,请参见计费说明

QPS限制

本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String QueryMqttTraceMessagePublish

系统规定参数。取值:QueryMqttTraceMessagePublish

MqttRegionId String cn-hangzhou

云消息队列 MQTT 版实例地域(Region)的ID。请参见服务接入点

InstanceId String mqtt-cn-i7m26mf****

云消息队列 MQTT 版实例的ID,一定要和客户端实际使用的实例ID匹配。您可以在控制台实例详情页面的基础信息区域查看。

MsgId String AC1EC0030EAB78308DB16A3EC773****

消息ID,即Message ID。

BeginTime Long 1618646400000

查询范围的起始时间戳。单位:毫秒。

EndTime Long 1621591200000

查询范围的终止时间戳。单位:毫秒。

返回数据

名称 类型 示例值 描述
RequestId String 69AD5550-BF22-438A-9202-A6E89185****

公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。

MessageTraceLists Array of MessageTraceLists

返回的消息发送轨迹列表。

Time String 2021-05-21 15:08:19.210

消息的发送时间。

Action String pub_mqtt

消息动作。取值说明如下:

  • pub_mqtt:表示消息的发送者是云消息队列 MQTT 版客户端。
  • pub_mq:表示消息的发送者是云消息队列 RocketMQ 版客户端。
ActionCode String mqtt.trace.action.msg.pub.mqtt

消息动作的返回码。取值说明如下:

  • mqtt.trace.action.msg.pub.mqtt:消息动作取值为pub_mqtt时返回该参数值。
  • mqtt.trace.action.msg.pub.mq:消息动作取值为pub_mq时返回该参数值。
ActionInfo String Pub From Mqtt Client

消息动作的说明信息。取值说明如下:

  • Pub From Mqtt Client:消息动作取值为pub_mqtt时返回该参数值。
  • Pub From MQ:消息动作取值为pub_mq时返回该参数值。
MsgId String AC1EC0030EAB78308DB16A3EC773BD95

消息ID,即Message ID。

ClientId String GID_test@@@producer

发送消息的客户端ID。

示例

请求示例

http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=QueryMqttTraceMessagePublish
&MqttRegionId=cn-hangzhou
&InstanceId=mqtt-cn-i7m26mf****
&BeginTime=1618646400000
&EndTime=1621591200000
&MsgId=AC1EC0030EAB78308DB16A3EC773****
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<QueryMqttTraceMessagePublishResponse>
  <MessageTraceLists>
    <Action>pub_mqtt</Action>
    <ActionCode>mqtt.trace.action.msg.pub.mqtt</ActionCode>
    <ClientId>GID_test@@@producer</ClientId>
    <Time>2021-05-21 15:08:19.210</Time>
    <ActionInfo>Pub From Mqtt Client</ActionInfo>
    <MsgId>AC1EC0030EAB78308DB16A3EC773****</MsgId>
  </MessageTraceLists>
  <RequestId>69AD5550-BF22-438A-9202-A6E89185****</RequestId>
</QueryMqttTraceMessagePublishResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "MessageTraceLists" : {
    "Action" : "pub_mqtt",
    "ActionCode" : "mqtt.trace.action.msg.pub.mqtt",
    "ClientId" : "GID_test@@@producer",
    "Time" : "2021-05-21 15:08:19.210",
    "ActionInfo" : "Pub From Mqtt Client",
    "MsgId" : "AC1EC0030EAB78308DB16A3EC773****"
  },
  "RequestId" : "69AD5550-BF22-438A-9202-A6E89185****"
}

错误码

HttpCode 错误码 错误信息 描述
500 SystemOverFlow An error occurred while processing your request. Please try again. 系统限流,请重试。
404 ApiNotSupport The specified API is not supported. 当前接口不支持,请检查。

访问错误中心查看更多错误码。

控制台操作

除了调用QueryMqttTraceMessagePublish接口,您还可以通过微消息队列MQTT版控制台查看消息的发送轨迹。具体操作,请参见消息轨迹查询