tencent cloud

消息队列 CMQ 版

动态与公告
产品动态
公告
产品简介
产品概述
产品功能
产品优势
应用场景
使用限制
基本概念
购买指南
计费概述
购买方式
价格总览
欠费说明
退费说明
快速入门
队列模型快速入门
主题模型快速入门
操作指南
队列服务
主题订阅
访问管理 CAM
标签管理
配置告警
消息查询与轨迹
实践教程
消息去重
选择 Push 还是 Pull
案例分享
在线图片处理案例
起点文学网案例
开发指南
HTTP Endpoint 订阅
通用参考
API 文档
API 列表
CMQ API2.0 切换至 TDMQ CMQ 版 API3.0指引
SDK 文档
HTTP 数据流 SDK
HTTP 控制流 SDK
SDK 参数配置说明
常见问题
功能类
操作类
服务等级协议
联系我们
词汇表

批量消费消息

PDF
聚焦模式
字号
最后更新时间: 2024-01-03 10:20:36

接口描述

本接口(BatchReceiveMessage)用于消费队列中的多条(目前最多16条)消息。
BatchReceiveMessage 操作会将取得的消息状态变成 inactive,inactive 的时间长度由 Queue 属性 visibilityTimeout 指定(详见 CreateQueue 接口)。 消费者在 visibilityTimeout 时间内消费成功后需要调用 (batch)DeleteMessage 接口删除该消息,否则该消息将会重新变成为 active 状态,此消息又可被消费者重新消费。
公网/内网接口请求域名,在 TDMQ CMQ 版控制台队列服务 > API 请求地址处复制。CMQ 的 API 调用地址示例如下:
公网地址:https://cmq-gz.publicXXX.tencenttdmq.com
内网地址:http://gz.mqadapter.cmq.tencentyun.com
注意:
不同地域的 API 调用地址 URL 会有所变化。
任何时候(包括内测期间),如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

输入参数

以下请求参数列表仅列出了接口请求参数,其它参数请参见 公共请求参数 页面。
参数名称
是否必选
类型
描述
queueName
String
队列名字,在单个地域同一账号下唯一。 队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
numOfMsg
Int
本次消费的消息数量。取值范围1 - 16。
pollingWaitSeconds
Int
本次请求的长轮询等待时间。取值范围0 - 30秒,如果不设置该参数,则默认使用队列属性中的 pollingWaitSeconds 值。

输出参数

参数名称
类型
描述
code
Int
0:表示成功,others:错误,详情请参见 公共错误码
message
String
错误提示信息。
requestId
String
服务器生成的请求 ID。出现服务器内部错误时,用户可提交此 ID 给后台定位问题。
msgInfoList
Array
message 信息列表,每个元素是一条消息的具体信息。
msgInfoList 定义如下:
参数名称
类型
描述
msgBody
String
消费的消息正文。
msgId
String
消费的消息唯一标识 ID。
receiptHandle
String
每次消费返回唯一的消息句柄,用于删除消费。仅上一次消费该消息产生的句柄能用于删除消息。且有效期是 visibilityTimeout,即取出消息隐藏时长,超过该时间后该句柄失效。
enqueueTime
Int
消费被生产出来,进入队列的时间。返回 Unix 时间戳,精确到秒。
firstDequeueTime
Int
保留字段。
nextVisibleTime
Int
消息的下次可见(可再次被消费)时间。返回 Unix 时间戳,精确到秒。
dequeueCount
Int
保留字段。

错误码

详情请参见 公共错误码

示例

输入:
https://domain/v2/index.php?Action=BatchReceiveMessage &queueName=test-queue-123 &numOfMsg=2 &<<a href="">公共请求参数</a>>
输出:
{
"code": 0,
"message": "",
"requestId": "14534664555",
"msgInfoList":
[
{
"msgBody": "helloworld1",
"msgId": "123345346",
"receiptHandle": "283748239349283",
"enqueueTime": 1462351990,
"firstDequeueTime": 1462352990,
"nextVisibleTime": 1462352999,
"dequeueCount": 2
},
{
"msgBody": "helloworld2",
"msgId": "1233453456",
"receiptHandle": "28374345763283",
"enqueueTime": 1462351990,
"firstDequeueTime": 1462352990,
"nextVisibleTime": 1462352999,
"dequeueCount": 2
}
]
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈