批量发送消息

最近更新时间:2019-08-13 11:51:54

接口描述

本接口(BatchSendMessage)用于发送批量(目前最多16条)消息到指定的队列。

  • 外网接口请求域名: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个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
msgBody.n String 消息正文。表示这一批量中的一条消息。目前批量消息数量不能超过16条。

为方便用户使用,n从0开始或者从1开始都可以,但必须连续,例如发送两条消息,可以是(msgBody.0, msgBody.1),或者(msgBody.1, msgBody.2)。

注意:由于目前限制所有消息大小总和(不包含消息头和其他参数,仅 msgBody)不超过64k,所以建议提前规划好批量发送的数量。
delaySeconds Int 单位为秒,表示该消息发送到队列后,需要延时多久用户才可见。(该延时对一批消息有效,不支持多对多映射)

输出参数

参数名称 类型 描述
code Int 0:表示成功,others:错误,详细错误见 公共错误码
message String 错误提示信息。
requestId String 服务器生成的请求 ID,出现服务器内部错误时,用户可提交此 ID 给后台定位问题。
msgList Array 服务器生成消息的唯一标识 ID 列表,每个元素是一条消息的信息。

msgList 定义如下:

参数名称 类型 描述
msgId String 服务器生成消息的唯一标识 ID。

错误码

请查看 公共错误码

示例

输入:

 https://domain/v2/index.php?Action=BatchSendMessage
 &queueName=test-queue-123
 &msgBody.1=helloworld1
 &msgBody.2=helloworld2
 &<公共请求参数>

输出:

{
"code" : 0,
"message" : "",
"requestId":"14534664555",
"msgList":
  [
    {
      "msgId":"123345346"
    },
    {
       "msgId":"456436346"
    }
  ]
}