调用OnsDLQMessagePageQueryByGroupId分页查询指定时间段内指定Group ID内存在的所有死信消息。

使用说明

  • 按Group ID查询死信消息的方式属于范围查询,查询结果会通过分页的方式展示给调用方,仅适用于没有任何搜索条件Message ID查询场景。
  • 根据Group ID查询死信消息应尽可能缩短查询的时间区间,否则匹配的消息过多,不利于定位问题。调用流程如下:

    1. 传入Group ID、起止时间以及每页的消息数量,进行分页查询。如果有消息,默认返回第一页的消息、总页数和查询任务 ID。

    2. 根据返回的结果中的查询任务ID,进行后续取消息,取消息时传入查询任务ID以及当前页数。此时输入的起止时间和每页消息数量不生效,默认以第一次查询时输入的参数值为准。

QPS限制

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

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例

API

Action

Resource(有命名空间)

Resource(无命名空间)

OnsDLQMessagePageQueryByGroupId

mq:QueryDLQMessage

acs:mq:*:*:{instanceId}%{groupId}

acs:mq:*:*:{groupId}

请求参数

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

系统规定参数。取值:OnsDLQMessagePageQueryByGroupId

GroupId String GID_test_group_id

需查询的消费端Group ID。

BeginTime Long 1570723200000

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

通过TaskId进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的起始时间为准。

EndTime Long 1570809600000

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

通过TaskId进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的终止时间为准。

TaskId String 0BC1310300002A9F000021E4D7A48346

查询任务的ID,首次查询不需要输入,后续取消息必须传入,根据前一次的返回结果取出该字段。

CurrentPage Integer 2

当前取第几页消息,从1开始递增,最大值为50,取消息时不可超过最大页数。

PageSize Integer 5

分页查询,每页最多显示的消息数量,默认显示20条,最小5条,最多50条。

通过TaskId进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的每页消息数量为准。

InstanceId String MQ_INST_111111111111_DOxxxxxx

需查询的消息所对应的实例ID。

说明 更多参数说明请参见公共参数调用方式

返回数据

名称 类型 示例值 描述
RequestId String B00CD3C8-D81E-4A41-85E2-38F19252****

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

MsgFoundDo Object

查询结果。

CurrentPage Long 1

当前位于第几页。

MsgFoundList Array of OnsRestMessageDo

当前页的消息集合,该类型与OnsDLQMessageGetById的返回结果一致。

OnsRestMessageDo
StoreSize Integer 406

消息大小。单位:KB。

ReconsumeTimes Integer 1

消息重试消费的次数。

StoreTimestamp Long 1570760999811

消息被服务端存储的时间戳。

InstanceId String MQ_INST_111111111111_DOxxxxxx

实例ID。

MsgId String 1E0578FE110F18B4AAC235C05F2*****

消息ID,即Message ID。

StoreHost String 11.193.***.***:10911

存储该消息的服务器实例。

Topic String test-mq_topic

消息的Topic。

PropertyList Array of MessageProperty

消息属性列表。

MessageProperty
Value String TagA

消息属性的取值。

Name String TAGS

消息属性。取值说明如下:

  • TRACE_ON:是否有消息轨迹。
  • KEYS:消息的Key属性。
  • TAGS:消息的Tag属性。
  • INSTANCE_ID:消息所在的实例的ID。

更多概念信息,请参见名词解释

BornTimestamp Long 1570760999721

消息生产的时间戳。

BodyCRC Integer 914112295

消息体CRC校验值。

BornHost String 42.120.***.***:59270

生成该消息的生产者实例。

MaxPageCount Long 400

查询结果最大页数。

TaskId String 0BC1310300002A9F000021E4D7A48346

第一次新建查询时,返回的查询任务ID,用于后续取消息。

示例

请求示例

http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsDLQMessagePageQueryByGroupId
&BeginTime=1570723200000
&CurrentPage=2
&EndTime=1570809600000
&GroupId=GID_test_group_id
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&TaskId=0BC1310300002A9F000021E4D7A48346
&PageSize=5
&<公共请求参数>

正常返回示例

XML格式

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

<OnsDLQMessagePageQueryByGroupIdResponse>
    <MsgFoundDo>
        <MaxPageCount>400</MaxPageCount>
        <MsgFoundList>
            <OnsRestMessageDo>
                <MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>
                <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
                <ReconsumeTimes>1</ReconsumeTimes>
                <BornHost>42.120.***.***:59270</BornHost>
                <StoreTimestamp>1570760999811</StoreTimestamp>
                <StoreHost>11.193.***.***:10911</StoreHost>
                <BodyCRC>914112295</BodyCRC>
                <Topic>test-mq_topic</Topic>
                <BornTimestamp>1570760999721</BornTimestamp>
                <StoreSize>406</StoreSize>
                <PropertyList>
                    <MessageProperty>
                        <Name>TAGS</Name>
                        <Value>TagA</Value>
                    </MessageProperty>
                </PropertyList>
            </OnsRestMessageDo>
        </MsgFoundList>
        <TaskId>0BC1310300002A9F000021E4D7A48346</TaskId>
        <CurrentPage>1</CurrentPage>
    </MsgFoundDo>
    <RequestId>5DC2A47E-2B31-4722-96C8-FA59C9*****</RequestId>
</OnsDLQMessagePageQueryByGroupIdResponse>

JSON格式

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

{
  "OnsDLQMessagePageQueryByGroupIdResponse" : {
    "MsgFoundDo" : {
      "MaxPageCount" : 400,
      "MsgFoundList" : {
        "OnsRestMessageDo" : {
          "MsgId" : "1E0578FE110F18B4AAC235C05F2*****",
          "InstanceId" : "MQ_INST_111111111111_DOxxxxxx",
          "ReconsumeTimes" : 1,
          "BornHost" : "42.120.***.***:59270",
          "StoreTimestamp" : 1570760999811,
          "StoreHost" : "11.193.***.***:10911",
          "BodyCRC" : 914112295,
          "Topic" : "test-mq_topic",
          "BornTimestamp" : 1570760999721,
          "StoreSize" : 406,
          "PropertyList" : {
            "MessageProperty" : [ {
              "Name" : "TAGS",
              "Value" : "TagA"
            } ]
          }
        }
      },
      "TaskId" : "0BC1310300002A9F000021E4D7A48346",
      "CurrentPage" : 1
    },
    "RequestId" : "5DC2A47E-2B31-4722-96C8-FA59C9*****"
  }
}

错误码

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

控制台操作

除了调用OnsDLQMessagePageQueryByGroupId接口,您还可以通过消息队列RocketMQ版控制台查看死信消息。具体操作,请参见死信队列