批量发送消息__队列接口规范_API使用手册_消息服务-阿里云
描述
该接口用于批量发送消息到指定的队列,一次 BatchSendMessage 最多发送16条消息。普通消息发送到队列随即可被消费者消费,如果生产者发送一个消息不想马上被消费者消费(典型的使用场景为定期任务),生产者在发送消息时设置 DelaySeconds 参数就可以达到此目标。发送带 DelaySeconds 参数值大于0的消息初始状态为Delayed,此时消息不能被消费者消费,只有等 DelaySeconds 时间后消息变成 Active 状态后才可消费。发送消息时指定 DelaySeconds 参数的优先级高于延时消息队列的 DelaySeconds 属性,即两个 DelaySeconds 属性设置的值不同时以发送消息时指定的值为准。
Request
Request的构造主要由以下几个部分组成:
请求行
POST /queues/$queueName/messages HTTP/1.1
特有Request Header
无,请参考 调用方式/公共参数
Request Body
Request Body为XML格式,其中包含多条创建Message的属性。
参数名称 | 说明 | 参数值 | 选项 |
---|---|---|---|
MessageBody | 消息正文 | UTF-8字符集 | Required |
DelaySeconds | DelaySeconds 指定的秒数延后可被消费,单位为秒 | 0-604800秒(7天)范围内某个整数值,默认值为0 | Optional |
Priority | 指定消息的优先级权值,优先级越高的消息,越容易更早被消费 | 取值范围1~16(其中1为最高优先级),默认优先级为8 | Optional |
Response
返回消息由返回状态行,HTTP头和消息体三部分组成。
HTTP Status Code
HTTP/1.1 201 Created
特有Response Header
无,请参考 调用方式/公共参数
Response Body
返回的结果为XML格式,返回多条Message的MessageId和MessageBodyMD5子元素。
参数名称 | 说明 |
---|---|
MessageId | 消息编号,在一个队列唯一 |
MessageBodyMD5 | 消息正文的MD5值 |
Special Error:
错误代码 | 错误消息 | 状态码 |
---|---|---|
QueueNotExist | The queue name you provided is not exist. | 404 |
MalformedXML | The XML you provided was not well-formed. | 400 |
InvalidArgument | The value of Element should between Low and High seconds/bytes. | 400 |
请求示例:
POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 18 Mar 2012 12:00:00 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="https://mns.aliyuncs.com/doc/v1/">
<Message>
<MessageBody>Message1 Base64 Encoded Result</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message>
<Message>
<MessageBody>Message2 Base64 Encoded Result</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message>
</Messages>
返回头示例:
正常发送所有消息
HTTP/1.1 201 Created
Content-Length:120
Content-Type:text/xml;charset=utf-8
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="https://mns.aliyuncs.com/doc/v1/">
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
</Message>
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000002</MessageId>
<MessageBodyMD5>377AC5283D8765C9CEE4E0EA353DFC17</MessageBodyMD5>
</Message>
</Messages>
只发送了部分消息
HTTP/1.1 500
Content-Length:120
Content-Type:text/xml;charset=utf-8
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="https://mns.aliyuncs.com/doc/v1/">
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
</Message>
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000002</MessageId>
<MessageBodyMD5>377AC5283D8765C9CEE4E0EA353DFC17</MessageBodyMD5>
</Message>
<Message>
<ErrorCode>InternalError</ErrorCode>
<ErrorMessage>Internal error.</ErrorMessage>
</Message>
</Messages>
最后更新:2016-11-23 17:16:09
上一篇:
RESTfulAPI概述__队列接口规范_API使用手册_消息服务-阿里云
下一篇:
批量消费消息__队列接口规范_API使用手册_消息服务-阿里云
SetRule__转发规则相关API_API 参考_负载均衡-阿里云
时间日期类型__数据类型_SQL语法参考_云数据库 OceanBase-阿里云
特征工程__使用手册(new)_机器学习-阿里云
HTTP 域名__HTTP 接入(简单)_消息队列 MQ-阿里云
移动数据分析__iOS SDK手册_SDK 手册_-阿里云
添加数据源__数据建模_Quick BI-阿里云
MXNet 最佳实践__深度学习最佳实践_高性能计算-阿里云
PutBucketReferer__关于Bucket的操作_API 参考_对象存储 OSS-阿里云
云服务器 ECS独立云磁盘和可用区FAQ
DescribeHealthStatus__BackendServer相关API_API 参考_负载均衡-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云