全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息服务

发送消息

更新时间:2017-06-07 13:26:11

基本信息

Name Value
API SendMessage
RAM授权操作 mns:SendMessage
资源 acs:mns:$region:$accountid:/queues/$queueName/messages

描述

该接口用于发送消息到指定的队列,普通消息发送到队列随即可被消费者消费。但是如果生产者发送一个消息不想马上被消费者消费(典型的使用场景为定期任务),生产者在发送消息时设置 DelaySeconds 参数就可以达到此目的。发送带 DelaySeconds 参数值大于0的消息初始状态为 Delayed,此时消息不能被消费者消费,只有等 DelaySeconds 时间后消息变成 Active 状态后才可消费。

Tip:

发送消息时指定 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值
ReceiptHandle 发送延迟消息后返回的消息句柄

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

请求示例:

  1. POST /queues/$queueName/messages HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 18 Mar 2012 12:00:00 GMT
  4. Content-Length:500
  5. Content-Type:text/xml;charset=utf-8
  6. x-mns-version: 2015-06-06
  7. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
  8. <?xml version="1.0" encoding="UTF-8"?>
  9. <Message xmlns="http://mns.aliyuncs.com/doc/v1/">
  10. <MessageBody>Base64 Encoded Result</MessageBody>
  11. <DelaySeconds>60</DelaySeconds>
  12. <Priority>1</Priority>
  13. </Message>

返回头示例:

  1. HTTP/1.1 201 Created
  2. Content-Length:120
  3. Content-Type:text/xml;charset=utf-8
  4. x-mns-request-id:512B2A634403E52B1956133E
  5. x-mns-version: 2015-06-06
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <Message xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
  9. <MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
  10. <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
  11. </Message>
本文导读目录