调用OnsDLQMessageResendById重发指定 Message ID的死信消息,使该消息能够被Consumer再次消费。
使用说明
死信消息已达最大重试次数,若重发后再次消费失败,则死信队列中将增加一条Message ID相同的消息,可通过控制台死信队列的查询页面或者管控API查看该结果。您可通过同一Message ID的消息出现次数判断重发后依然消费失败的次数。
- 由于死信消息是经过重试逻辑依然消费失败的消息,通常意味着消费逻辑可能存在问题,故请先查明多次消费失败的原因,再调用本接口重新发送。
- 当前消息队列RocketMQ版不管理死信重发的状态,重发后消费成功的消息不会从死信队列中移除。需自行管理、判断消息是否需要重发。避免多次无意义地重发,从而造成重复消费。
QPS限制
本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
授权信息
默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例。
API |
Action |
Resource(有命名空间) |
Resource(无命名空间) |
---|---|---|---|
OnsDLQMessageResendById |
mq:QueryInstanceBaseInfo mq:ResendDLQMessage |
acs:mq:*:*:{instanceId}%{groupId} |
acs:mq:*:*:{groupId} |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsDLQMessageResendById |
系统规定参数。取值:OnsDLQMessageResendById。 |
MsgId | String | 是 | 0BC16699343051CD9F1D798E7734**** |
需查询的消息的ID,即Message ID。 |
GroupId | String | 是 | GID_test_group_id |
需查询的消费端Group ID。 |
InstanceId | String | 是 | MQ_INST_188077086902****_BXSuW61e |
需查询消息所对应的实例ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | D94CC769-4DC3-4690-A868-9D0631B1**** |
公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
Data | Array of String | 0BC16699343051CD9F1D798E7734**** |
消息ID,即Message ID。 |
示例
请求示例
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsDLQMessageResendById
&GroupId=GID_test_group_id
&InstanceId=MQ_INST_188077086902****_BXSuW61e
&MsgId=0BC16699343051CD9F1D798E7734****
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsDLQMessageResendByIdResponse>
<RequestId>D94CC769-4DC3-4690-A868-9D0631B1****</RequestId>
</OnsDLQMessageResendByIdResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : [ ],
"RequestId" : "D94CC769-4DC3-4690-A868-9D0631B1****"
}
错误码
访问错误中心查看更多错误码。
控制台操作
除了调用OnsDLQMessageResendById接口,您还可以通过消息队列RocketMQ版控制台重新投递指定的死信消息。具体操作,请参见死信队列。