调用OnsMessageGetByKey根据Topic和Message Key模糊查询消息信息列表。
使用说明
- 使用本接口根据Message Key查询消息的方式属于模糊查询。由于业务方的Key可能不唯一,所以查询结果可能为多条。
-
本接口用在业务方无法获取Message ID的场景,在该场景下的调用步骤如下所示:
1. 调用本接口模糊查询得到Message ID列表。
2. 调用OnsMessageGetByMsgId接口精确查询。OnsMessageGetByMsgId接口的详细信息,请参见OnsMessageGetByMsgId。
QPS限制
本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
授权信息
默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例。
API |
Action |
Resource(有命名空间) |
Resource(无命名空间) |
---|---|---|---|
OnsMessageGetByKey |
mq:QueryInstanceBaseInfo mq:QueryMessage |
acs:mq:*:*:{instanceId}%{topic} |
acs:mq:*:*:{topic} |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsMessageGetByKey |
系统规定参数。取值:OnsMessageGetByKey。 |
Topic | String | 是 | test-mq_topic |
需查询的消息的Topic。 |
Key | String | 是 | messageKey1 |
需查询的消息的Message Key。 |
InstanceId | String | 是 | MQ_INST_111111111111_DOxxxxxx |
需查询的消息所对应的实例ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | A07E3902-B92E-44A6-B6C5-6AA111111**** |
公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
Data | Array of OnsRestMessageDo |
查询结果。 |
|
OnsRestMessageDo | |||
StoreSize | Integer | 406 |
消息大小。 |
ReconsumeTimes | Integer | 1 |
消息重试消费的次数。 |
StoreTimestamp | Long | 1570760999811 |
被Broker存储的时间戳。 |
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 |
消息属性。取值说明如下:
更多概念信息请参见名词解释。 |
BornTimestamp | Long | 1570760999721 |
生成时间戳。 |
BodyCRC | Integer | 914112295 |
消息体CRC校验值。 |
BornHost | String | 42.120.***.***:59270 |
生成该消息的客户端实例。 |
示例
请求示例
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessageGetByKey
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Key=messageKey1
&Topic=test-mq_topic
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsMessageGetByKeyResponse>
<Data>
<MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>
<InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
<ReconsumeTimes>1</ReconsumeTimes>
<BornHost>42.120.**.**:64646</BornHost>
<BodyCRC>914112295</BodyCRC>
<StoreHost>11.220.***.***:10911</StoreHost>
<StoreTimestamp>1570761026708</StoreTimestamp>
<BornTimestamp>1570761026630</BornTimestamp>
<Topic>test-mq_topic</Topic>
<StoreSize>407</StoreSize>
<PropertyList>
<MessageProperty>
<Name>TAGS</Name>
<Value>TagA</Value>
</MessageProperty>
</PropertyList>
</Data>
<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>
</OnsMessageGetByKeyResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : {
"MsgId" : "1E0578FE110F18B4AAC235C05F2*****",
"InstanceId" : "MQ_INST_111111111111_DOxxxxxx",
"ReconsumeTimes" : 1,
"BornHost" : "42.120.**.**:64646",
"BodyCRC" : 914112295,
"StoreHost" : "11.220.***.***:10911",
"StoreTimestamp" : 1570761026708,
"BornTimestamp" : 1570761026630,
"Topic" : "test-mq_topic",
"StoreSize" : 407,
"PropertyList" : {
"MessageProperty" : [ {
"Name" : "TAGS",
"Value" : "TagA"
} ]
}
},
"RequestId" : "A07E3902-B92E-44A6-B6C5-6AA111111****"
}
错误码
访问错误中心查看更多错误码。
控制台操作
除了调用OnsMessageGetByKey接口,您还可以通过消息队列RocketMQ版控制台查看消息的详细信息。具体操作,请参见消息查询。