更新时间:2024-02-27 GMT+08:00

消费消息接口说明

功能介绍

消费指定队列中的消息,可同时消费多条消息。

  • 当队列中消息较少时,单次消费返回的消息数量可能会少于指定条数,但多次消费最终可获取全部消息。当返回的消息为空数组时,表示未消费到消息。
  • endpoint为https://{rest_connect_address}:9292,通过指定实例接口查询rest_connect_address的IP地址。

URI

GET /v1/topic/{topic_name}/group/{group_name}/messages?ack_wait={ack_wait}& time_wait={time_wait}&max_msgs={max_msgs}

表1 参数说明

参数

类型

必选

说明

topic_name

String

主题名称。

group_name

String

消费组名称。长度不超过249位的字符串,包含a~z,A~Z,0~9、中划线(-)和下划线(_)。

ack_wait

Integer

提交确认消费的超时时间,客户端需要在该时间内提交消费确认,如果超过指定时间,没有确认消费,系统会报消息确认超时或handler无效,则默认为消费失败。取值范围:1~300s。默认值:15s

time_wait

Integer

设定队列可消费的消息为0时的读取消息等待时间。

如果在等待时间内有新的消息,则立即返回消费结果,如果等待时间内没有新的消息,则到等待时间后返回消费结果。取值范围:1~30s。

默认值:3s

max_msgs

Integer

获取可消费的消息的条数。取值范围:1~10。默认值:10

max_bytes

Integer

每次消费的消息总负载最大值。取值范围:1~ 2097152。默认值:524288。

请求消息

请求参数

无。

请求示例

无。

响应消息

响应参数

参数

类型

说明

handler

String

消息handler。

message

Object

消息的内容。

表2 message参数

参数

类型

说明

content

String

消息体的内容。Base64加密密文。

响应示例

[
   {
     "handler": "NCMxMDAjMTgjMA==",
     "message": {
       "content": "ImhlbGxvIGh1YXdlaWNsb3VkLTIi"
     }
   }
]