QueryMqttTraceDevice - 查询设备轨迹

更新时间:
复制 MD 格式

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

接口说明

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

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

调试

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

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

mq:QueryMqttDeviceTrace

none

*Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

请求参数

名称

类型

必填

描述

示例值

MqttRegionId

string

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

cn-hangzhou

InstanceId

string

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

mqtt-cn-i7m26mf****

Reverse

boolean

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

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

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

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

false

ClientId

string

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

GID_test@@@producer

BeginTime

integer

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

1621580400000

EndTime

integer

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

1621584000000

CurrentPage

integer

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

1

PageSize

integer

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

5

返回参数

名称

类型

描述

示例值

object

CurrentPage

integer

当前位于第几页。

1

RequestId

string

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

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

PageSize

integer

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

2

Total

integer

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

3

DeviceInfoList

array<object>

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

object

ChannelId

string

设备连接标识。

c69fe839209547fa9d073781b9cd****

Time

string

设备动作发生的时间。

2021-05-21 15:51:54.867

ActionCode

string

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

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

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

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

mqtt.trace.action.connect

Action

string

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

  • connect:客户端请求与服务端连接。

  • close:TCP 连接断开。

  • disconnect:客户端请求与服务端断开连接。

connect

ActionInfo

string

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

  • 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 连接断开。

accept

示例

正常返回示例

JSON格式

{
  "CurrentPage": 1,
  "RequestId": "317076B7-F946-46BC-A98F-4CF9777C****",
  "PageSize": 2,
  "Total": 3,
  "DeviceInfoList": [
    {
      "ChannelId": "c69fe839209547fa9d073781b9cd****",
      "Time": "2021-05-21 15:51:54.867",
      "ActionCode": "mqtt.trace.action.connect",
      "Action": "connect",
      "ActionInfo": "accept"
    }
  ]
}

错误码

HTTP status code

错误码

错误信息

描述

400 MqttOwnerCheckError Failed to validate the instance permission
400 MqttInstanceNotFound Specified instance is not found 实例不存在
500 SystemOverFlow An error occurred while processing your request. Please try again.
404 ApiNotSupport The specified API is not supported. 当前接口不支持,请检查。

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

变更历史

更多信息,参考变更详情