调用OnsMessagePageQueryByTopic分页查询指定时间段内指定Topic内存在的所有消息。
使用说明
- 按Topic查询消息的方式属于范围查询,查询结果会通过分页的方式展示给调用方,仅适用于没有任何搜索条件(Message ID和Message Key)的查询场景。
-
根据Topic查询消息应尽可能缩短查询的时间区间,否则匹配的消息过多,将无法定位问题。调用流程如下所示:
1. 传入Topic、起止时间以及每页的大小,进行分页查询。如果有消息,默认返回第一页的消息、总页数和查询任务ID。
2. 根据返回的结果中的查询任务ID,进行后续取消息,取消息时传入查询任务ID以及当前页数。
QPS限制
本接口的单用户QPS限制为10次/分钟。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
授权信息
默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例。
API |
Action |
Resource(有命名空间) |
Resource(无命名空间) |
---|---|---|---|
OnsMessagePageQueryByTopic |
mq:QueryMessage |
acs:mq:*:*:{instanceId}%{topic} |
acs:mq:*:*:{topic} |
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsMessagePageQueryByTopic |
系统规定参数。取值:OnsMessagePageQueryByTopic。 |
BeginTime | Long | 是 | 1570723200000 |
查询范围的起始时间戳,单位:毫秒。 |
CurrentPage | Integer | 是 | 2 |
当前取第几页消息,从1开始递增,最大值为50,取消息时不可超过最大页数。 |
EndTime | Long | 是 | 1570809600000 |
查询范围的终止时间戳,单位:毫秒。 |
InstanceId | String | 是 | MQ_INST_111111111111_DOxxxxxx |
需查询的消息所对应的实例ID。 |
Topic | String | 是 | test-mq_topic |
需查询的消息的Topic名称。 |
TaskId | String | 否 | 0BC1310300002A9F000021E4D7A48346 |
查询任务的ID,首次查询不需要输入,后续取消息必须传入,根据前一次的返回结果取出该字段。 |
PageSize | Integer | 否 | 5 |
分页查询,每页最多显示消息数量,默认是20,最小5条,最多50条。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
MsgFoundDo | Struct |
查询结果。 |
|
CurrentPage | Long | 1 |
当前位于第几页。 |
MaxPageCount | Long | 400 |
查询结果最大页数。 |
MsgFoundList | Array of OnsRestMessageDo |
当前页的消息集合,该类型与OnsMessageGetByMsgId的返回结果一致。 |
|
OnsRestMessageDo | |||
BodyCRC | Integer | 914112295 |
消息体CRC校验值。 |
BornHost | String | 42.120.***.***:59270 |
生成该消息的客户端实例。 |
BornTimestamp | Long | 1570760999721 |
生成时间戳,单位:毫秒。 |
InstanceId | String | MQ_INST_111111111111_DOxxxxxx |
实例ID。 |
MsgId | String | 1E0578FE110F18B4AAC235C05F2***** |
消息ID,即Message ID。 |
PropertyList | Array of MessageProperty |
消息属性查询。 |
|
MessageProperty | |||
Name | String | TAGS |
消息属性。取值说明如下:
更多概念信息,请参见名词解释。 |
Value | String | TagA |
消息属性的取值。 |
ReconsumeTimes | Integer | 1 |
消息重试消费的次数。 |
StoreHost | String | 11.193.***.***:10911 |
存储该消息的服务器实例。 |
StoreSize | Integer | 406 |
消息大小。 |
StoreTimestamp | Long | 1570760999811 |
被服务端存储的时间戳,单位:毫秒。 |
Topic | String | test-mq_topic |
消息的Topic。 |
TaskId | String | 0BC1310300002A9F000021E4D7A48346 |
第一次新建查询时,返回的查询任务ID,用于后续取消息。 |
RequestId | String | 5DC2A47E-2B31-4722-96C8-FA59C9***** |
公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
示例
请求示例
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessagePageQueryByTopic
&BeginTime=1570723200000
&CurrentPage=2
&EndTime=1570809600000
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Topic=test-mq_topic
&<公共请求参数>
正常返回示例
XML
格式
<OnsMessagePageQueryByTopicResponse>
<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>
</OnsMessagePageQueryByTopicResponse>
JSON
格式
{
"MsgFoundDo": {
"MaxPageCount": 400,
"MsgFoundList": {
"OnsRestMessageDo": [
{
"MsgId": "1E0578FE110F18B4AAC235C05F2*****",
"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*****"
}
错误码
访问错误中心查看更多错误码。
控制台操作
除了调用OnsMessagePageQueryByTopic接口,您还可以通过消息队列RocketMQ版控制台,查看消息的详细信息。具体操作,请参见消息查询。
在文档使用中是否遇到以下问题
更多建议
匿名提交