有奖捉虫:云通信与企业服务文档专题,速来> HOT

接口描述

本接口(BatchReceiveMessage)用于消费队列中的多条(目前最多16条)消息。
BatchReceiveMessage 操作会将取得的消息状态变成 inactive,inactive 的时间长度由 Queue 属性 visibilityTimeout 指定(详见 CreateQueue 接口)。 消费者在 visibilityTimeout 时间内消费成功后需要调用 (batch)DeleteMessage 接口删除该消息,否则该消息将会重新变成为 active 状态,此消息又可被消费者重新消费。

  • 外网接口请求域名:https://cmq-queue-{$region}.api.qcloud.com
  • 内网接口请求域名:http://cmq-queue-{$region}.api.tencentyun.com

上述域名中的{$region}需用具体地域替换:gz(广州),sh(上海),bj(北京),shjr(上海金融),szjr(深圳金融),hk(中国香港),cd(成都),ca(北美),usw(美西),sg(新加坡)。公共参数中的 region 值要与域名的 region 值保持一致,如果出现不一致的情况,以域名的 region 值为准,将请求发往域名 region 所指定的地域。

注意:

任何时候(包括内测期间),如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

输入参数

以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。

参数名称 是否必选 类型 描述
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
 &<公共请求参数>

输出:

{
    "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
        }
    ]
}