消费消息
功能介绍
消费指定队列中的消息。可同时消费多条消息,每次消费的消息负载不超过512KB。
当队列中消息较少时,单次消费返回的消息数量可能会少于指定条数,但多次消费最终可获取全部消息,当队列为空时,返回为空。
每个消费组只支持一种Label规则,如果第二次消费更换了Label规则,则消费失败。
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/messages
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
queue_id |
是 |
String |
指定的队列ID。 |
consumer_group_id |
是 |
String |
消费组的ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
max_msgs |
否 |
Integer |
获取可消费的消息的条数。 取值范围:1~10。 默认值:10 |
time_wait |
否 |
Integer |
设定队列可消费的消息为0时的读取消息等待时间。 如果在等待时间内有新的消息,则立即返回消费结果,如果等待时间内没有新的消息,则到等待时间后返回消费结果。 取值范围:1~60s 默认值:3s 说明:不带该参数或者配置为空,都默认为3s。 |
ack_wait |
否 |
Integer |
提交确认消费的超时时间,客户端需要在该时间内提交消费确认,如果超过指定时间,没有确认消费,系统会报消息确认超时或handler无效,则默认为消费失败。 取值范围:15~300s 默认值:30s 说明:不带该参数或者配置为空,都默认为30s。 |
tag |
否 |
String |
添加标签后可以按照Tag进行过滤,只消费匹配上标签的消息。 Tag的数量不超过3个。 每个Tag长度不超过64。 |
tag_type |
否 |
String |
多个消息标签的过滤类型。 取值范围:
默认值为:or。 |
请求参数
无
请求示例
GET https://{endpoint}/v2/{project_id}/queues/{queue_id}/groups/{consumer_group_id}/messages?max_msgs=10&ack_wait=30&tag=tag1&tag=tag2&tag_type=or
响应示例
状态码: 200
获取信息成功。
[ { "message" : { "body" : { "foo" : "123=" }, "attributes" : { "attribute1" : "value1", "attribute2" : "value2" } }, "tags" : [ "tag1", "tag2" ], "handler" : "eyJjZyI6Im15X2pzb25fZ3JvdXAiLCJjaSI6InJlc3QtY29uc3VtZXItYzNlNThiNjEtYzA0NC00NGJkLTkxM2ItZDgzNjljNmJhYTQxIiwiY291bnQiOjAsIm9mZnNldCI6MCwicCI6MCwidCI6InRlc3QyIn0=" }, { "message" : { "body" : { "foo" : "123=" }, "attributes" : { "attribute1" : "value1", "attribute2" : "value2" } }, "tags" : [ "tag1", "tag2" ], "handler" : "eyJjZyI6Im15X2pzb25fZ3JvdXAiLCJjaSI6InJlc3QtY29uc3VtZXItYzNlNThiNjEtYzA0NC00NGJkLTkxM2ItZDgzNjljNmJhYTQxIiwiY291bnQiOjAsIm9mZnNldCI6MSwicCI6MCwidCI6InRlc3QyIn0=" } ]
状态码
状态码 |
描述 |
---|---|
200 |
获取信息成功。 |
错误码
请参见错误码。
