更新时间:2022-02-21 GMT+08:00

消费死信消息

功能介绍

消费指定消费组产生的死信消息。可同时消费多条消息,每次消费的消息负载不超过512KB。

仅NORMAL队列和FIFO队列可以开启死信消息,因为只有NORMAL队列和FIFO队列可消费死信消息。

URI

GET /v1.0/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/deadletters?max_msgs={max_msgs}&time_wait={time_wait}&ack_wait={ack_wait}

参数说明请参见表1

表1 参数说明

名称

类型

是否必选

说明

取值范围

project_id

String

项目ID。

N/A

queue_id

String

指定的队列ID。

N/A

consumer_group_id

String

消费组的ID。从查看指定队列的所有消费组的响应消息中获取消费组ID。

N/A

max_msgs

Integer

获取可消费的死信消息的条数。

说明:

单次消费返回的消息数量可能会少于指定条数,但多次消费最终可获取全部消息。

取值范围:1~10。

默认值:10

time_wait

Integer

设定消费组中可消费的死信为0时的读取消息等待时间。

如果在等待时间内有新的死信消息,则立即返回消费结果,如果等待时间内没有新的死信消息,则到等待时间后返回消费结果。

取值范围:1~60s

默认值:3s

说明:不带该参数或者配置为空,都默认为3s。

ack_wait

Integer

commit提交超时时间,在该时间内提交确认,确认有效,如果超过指定时间,系统会报消息确认超时,或handler无效。

取值范围:15~300s

默认值:30s

说明:不带该参数或者配置为空,都默认为30s。

示例

v1.0/b78a90ae2a134b4b8b2ba30acab4e23a/queues/075ae7da-6ce5-4966-940c-17c19fb5175e/groups/g-5ec247fd-d4a2-4d4f-9876-e4ff3280c461/deadletters?max_msgs=10&ack_wait=30

请求消息

请求参数

无。

请求示例

无。

响应消息

响应参数

响应参数如表2表3所示。

表2 响应参数

参数

类型

描述

message

JSON对象

消息的内容。

handler

String

消息handler。

表3 message参数

参数

类型

描述

body

JSON

消息体的内容。

attributes

JSON对象

属性的列表。

响应示例

[{
  "message" : {
   "body" : {
    "foo" : "123="
   },
   "attributes": {
       "attribute1": "value1",
       "attribute2": "value2"
        }
  },
  "handler" : "eyJjZyI6Im15X2pzb25fZ3JvdXAiLCJjaSI6InJlc3QtY29uc3VtZXItYzNlNThiNjEtYzA0NC00NGJkLTkxM2ItZDgzNjljNmJhYTQxIiwiY291bnQiOjAsIm9mZnNldCI6MCwicCI6MCwidCI6InRlc3QyIn0="
 }, {
  "message" : {
   "body" : {
    "foo" : "123="
   },
   "attributes": {
       "attribute1": "value1",
       "attribute2": "value2"
        }
  },
  "handler" : "eyJjZyI6Im15X2pzb25fZ3JvdXAiLCJjaSI6InJlc3QtY29uc3VtZXItYzNlNThiNjEtYzA0NC00NGJkLTkxM2ItZDgzNjljNmJhYTQxIiwiY291bnQiOjAsIm9mZnNldCI6MSwicCI6MCwidCI6InRlc3QyIn0="
 }
]

状态码

操作成功的状态码如表4所示,操作失败的状态码请参考状态码

表4 状态码

状态码

描述

200

获取信息成功。