调用QueryMqttTraceDevice分页查询云消息队列 MQTT 版客户端的设备轨迹。当设备的状态出现异常时,您可以通过该接口查询指定设备的连接历史,帮助您快速定位异常原因。

计费影响

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

QPS限制

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

调试

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

请求参数

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

系统规定参数。取值:QueryMqttTraceDevice

MqttRegionId String cn-hangzhou

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

InstanceId String mqtt-cn-i7m26mf****

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

Reverse Boolean false

返回结果是否倒序显示。取值说明如下:

  • true:按照设备活动时间倒序显示,最后一次的设备活动信息显示在第一条,最早一次的设备活动信息显示在最后一条。
  • false:按照设备活动时间顺序显示,最早一次的设备活动信息显示在第一条,最后一次的设备活动信息显示在最后一条。

若不输入,则返回结果默认按照设备活动时间顺序显示。

ClientId String GID_test@@@producer

需要查询轨迹信息的设备的Client ID。

BeginTime Long 1621580400000

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

EndTime Long 1621584000000

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

CurrentPage Integer 1

当前取第几页消息,从1开始递增。若输入参数大于总页数,则返回结果为空。

PageSize Integer 5

分页查询,每页最多显示的消息数量,最小1条,最多100条。

返回数据

名称 类型 示例值 描述
CurrentPage Integer 1

当前位于第几页。

RequestId String 317076B7-F946-46BC-A98F-4CF9777C****

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

PageSize Integer 2

每页最多显示的设备活动信息数量。

Total Long 3

查询到的设备活动信息总数。

DeviceInfoList Array of DeviceInfoList

查询的设备活动信息明细。

ChannelId String c69fe839209547fa9d073781b9cd****

设备连接标识。

Time String 2021-05-21 15:51:54.867

设备动作发生的时间。

ActionCode String mqtt.trace.action.connect

设备动作的返回码。取值说明如下:

  • mqtt.trace.action.connect:设备动作为connect时返回该参数值。
  • mqtt.trace.action.close:设备动作为close时返回该参数值。
  • mqtt.trace.action.disconnect:设备动作为disconnect时返回该参数值。
Action String connect

设备动作。取值说明如下:

  • connect:客户端请求与服务端连接。
  • close:TCP连接断开。
  • disconnect:客户端请求与服务端断开连接。
ActionInfo String accept

设备动作的描述信息。取值说明如下:

  • accepted:服务端接收客户端发起的连接请求。
  • not authorized:客户端访问的实例权限校验失败导致TCP连接断开。
  • clientId conflict:客户端标识冲突导致TCP连接断开。
  • resource auth failed:客户端访问的Topic或Group ID资源权限校验失败导致TCP连接断开。
  • no heart:客户端无心跳导致TCP连接断开。
  • closed by client:客户端异常导致TCP连接断开。
  • disconnected by client:客户端请求断开连接。
  • invalid param:请求参数不合法导致TCP连接断开。
  • Socket IOException:网络抖动或丢包导致TCP连接断开。

示例

请求示例

http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=QueryMqttTraceDevice
&MqttRegionId=cn-hangzhou
&InstanceId=mqtt-cn-i7m26mf****
&ClientId=GID_test@@@producer
&BeginTime=1621580400000
&EndTime=1621584000000
&CurrentPage=1
&PageSize=5
&Reverse=false
&<公共请求参数>

正常返回示例

XML格式

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

<QueryMqttTraceDeviceResponse>
<DeviceInfoList>
    <Action>connect</Action>
    <ActionCode>mqtt.trace.action.connect</ActionCode>
    <ActionInfo>accepted</ActionInfo>
    <Time>2021-05-21 15:10:21.844</Time>
    <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>
 </DeviceInfoList>
 <DeviceInfoList>
    <Action>close</Action>
    <ActionCode>mqtt.trace.action.close</ActionCode>
    <ActionInfo>no heart</ActionInfo>
    <Time>2021-05-21 15:51:37.980</Time>
    <ChannelId>27e1c09a1d7d4944901500db7186****</ChannelId>
 </DeviceInfoList>
 <DeviceInfoList>
    <Action>connect</Action>
    <ActionCode>mqtt.trace.action.connect</ActionCode>
    <ActionInfo>accepted</ActionInfo>
    <Time>2021-05-21 15:52:48.669</Time>
    <ChannelId>34022074d3c1403faba6e0334121****</ChannelId>
 </DeviceInfoList>
 <PageSize>5</PageSize>
 <CurrentPage>1</CurrentPage>
 <Total>3</Total>
 <RequestId>317076B7-F946-46BC-A98F-4CF9777C****</RequestId>
</QueryMqttTraceDeviceResponse>

JSON格式

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

{
  "DeviceInfoList" : [ {
    "Action" : "connect",
    "ActionCode" : "mqtt.trace.action.connect",
    "ActionInfo" : "accepted",
    "Time" : "2021-05-21 15:10:21.844",
    "ChannelId" : "27e1c09a1d7d4944901500db7186****"
  }, {
    "Action" : "close",
    "ActionCode" : "mqtt.trace.action.close",
    "ActionInfo" : "no heart",
    "Time" : "2021-05-21 15:51:37.980",
    "ChannelId" : "27e1c09a1d7d4944901500db7186****"
  }, {
    "Action" : "connect",
    "ActionCode" : "mqtt.trace.action.connect",
    "ActionInfo" : "accepted",
    "Time" : "2021-05-21 15:52:48.669",
    "ChannelId" : "34022074d3c1403faba6e0334121****"
  } ],
  "PageSize" : 5,
  "CurrentPage" : 1,
  "Total" : 3,
  "RequestId" : "317076B7-F946-46BC-A98F-4CF9777C****"
}

错误码

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

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

控制台操作

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