调用OnsDLQMessageGetById通过传入Message ID查询指定的死信消息。
使用说明
根据Message ID查询死信消息的方式属于精确查询。查询条件需要的Message ID从消息发送成功的SendResult中获取,或者从批量查询的接口中获取。查询到的信息包括死信消息的存储时间、消息体、Key和Tag等属性。
QPS限制
本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
授权信息
默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例。
API |
Action |
Resource(有命名空间) |
Resource(无命名空间) |
---|---|---|---|
OnsDLQMessageGetById |
mq:QueryInstanceBaseInfo mq:QueryDLQMessage |
acs:mq:*:*:{instanceId}%{groupId} |
acs:mq:*:*:{groupId} |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsDLQMessageGetById |
系统规定参数。取值:OnsDLQMessageGetById。 |
MsgId | String | 是 | 0BC16699165C03B925DB8A404E2D**** |
需查询的消息的ID,即Message ID。 |
GroupId | String | 是 | GID_test_group_id |
需查询的消费端Group ID。 |
InstanceId | String | 是 | MQ_INST_111111111111_DOxxxxxx |
需查询消息所对应的实例ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | A07E3902-B92E-44A6-B6C5-6AA111111**** |
为公共参数,每个请求的ID都是唯一的。 |
Data | Object |
查询结果。 |
|
StoreSize | Integer | 407 |
消息大小。单位:KB。 |
ReconsumeTimes | Integer | 1 |
消息重试消费的次数。 |
StoreTimestamp | Long | 1570761026708 |
消息被服务端存储的时间戳。单位:毫秒。 |
InstanceId | String | MQ_INST_111111111111_DOxxxxxx |
实例ID。 |
MsgId | String | 0BC16699165C03B925DB8A404E2D**** |
消息ID。 |
StoreHost | String | 11.220.***.***:10911 |
存储该消息的服务器实例。 |
Topic | String | test-mq_topic |
消息的Topic。 |
PropertyList | Array of MessageProperty |
消息属性列表。 |
|
MessageProperty | |||
Value | String | TagA |
消息属性的取值。 |
Name | String | TAGS |
消息属性。取值说明如下:
更多概念信息请参见名词解释。 |
BornTimestamp | Long | 1570761026630 |
消息生成的时间戳。单位:毫秒。 |
BodyCRC | Integer | 914112295 |
消息体CRC校验值。 |
BornHost | String | 42.120.**.**:64646 |
生成该消息的生产者实例。 |
示例
请求示例
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsDLQMessageGetById
&GroupId=GID_test_group_id
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&MsgId=0BC16699165C03B925DB8A404E2D****
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsDLQMessageGetByIdResponse>
<Data>
<MsgId>1E0578FE110F18B4AAC235C0C8460BA2</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>TRACE_ON</Name>
<Value>true</Value>
</MessageProperty>
<MessageProperty>
<Name>RETRY_TOPIC</Name>
<Value>MQ_INST_111111111111_DOxxxxxx%test-mq_topic</Value>
</MessageProperty>
<MessageProperty>
<Name>KEYS</Name>
<Value>ORDERID_993</Value>
</MessageProperty>
<MessageProperty>
<Name>UNIQ_KEY</Name>
<Value>1E0578FE110F18B4AAC235C0C84*****</Value>
</MessageProperty>
<MessageProperty>
<Name>WAIT</Name>
<Value>false</Value>
</MessageProperty>
<MessageProperty>
<Name>TAGS</Name>
<Value>TagA</Value>
</MessageProperty>
<MessageProperty>
<Name>INSTANCE_ID</Name>
<Value>MQ_INST_111111111111_DOxxxxxx</Value>
</MessageProperty>
</PropertyList>
</Data>
<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>
</OnsDLQMessageGetByIdResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : {
"MsgId" : "0BC16699165C03B925DB8A404E2D****",
"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" : "TRACE_ON",
"Value" : "true"
}, {
"Name" : "RETRY_TOPIC",
"Value" : "MQ_INST_111111111111_DOxxxxxx%test-mq_topic"
}, {
"Name" : "KEYS",
"Value" : "ORDERID_993"
}, {
"Name" : "UNIQ_KEY",
"Value" : "1E0578FE110F18B4AAC235C0C84*****"
}, {
"Name" : "WAIT",
"Value" : "false"
}, {
"Name" : "TAGS",
"Value" : "TagA"
}, {
"Name" : "INSTANCE_ID",
"Value" : "MQ_INST_111111111111_DOxxxxxx"
} ]
}
},
"RequestId" : "A07E3902-B92E-44A6-B6C5-6AA111111****"
}
错误码
访问错误中心查看更多错误码。
控制台操作
除了调用OnsDLQMessageGetById接口,您还可以通过消息队列RocketMQ版控制台查看死信消息。具体操作,请参见死信队列。