发送消息API

使用发送消息API从生产者发送消息至云消息队列 RocketMQ 版服务端。

请求构造

  • 请求行

    POST /topics/TopicName/messages?ns=INSTANCE_ID HTTP/1.1

    参数说明如下。

    参数

    是否必选

    说明

    TopicName

    将消息发送至的Topic名称。

    ns

    实例ID,针对有命名空间的新建实例,该参数为必填。是否有命名空间可以在控制台实例详情页面查看。实例根据其是否有命名空间分为默认实例和新建实例:

    • 默认实例:无命名空间,所有资源命名必需保证全局唯一。

    • 新建实例:有命名空间,资源命名只需保证在该实例内唯一。

    实例命名空间的更多信息,请参见实例化支持

  • 请求内容(XML格式)

    请求内容的参数说明如下。

    参数

    是否必选

    说明

    MessageTag

    消息Tag。

    MessageBody

    消息内容。

    Properties

    消息属性。

    属性(Properties)的序列化,其中特殊用途的键值说明如下:

    • 格式:key1:value1|key2:value2|key3:value3

    • 键值说明如下。

      参数

      类型

      说明

      KEYS

      String

      消息的Key。

      __STARTDELIVERTIME

      Long

      定时消息的定时绝对时间,UNIX毫秒时间戳。

      __TransCheckT

      Long

      第一次事务消息的回查时间,相对时间,取值范围:10~300,单位:秒。

响应构造

  • 响应行

    HTTP/1.1 201

  • 响应内容

    响应内容的参数说明如下。

    参数

    类型

    说明

    MessageId

    String

    消息ID。

    MessageBodyMD5

    String

    消息内容的MD5。

示例

  • 请求示例

    <?xml version="1.0" encoding="UTF-8"?>
    <Message xmlns="http://mq.aliyuncs.com/doc/v1/">
    <MessageBody>a</MessageBody>
    <MessageTag>Tag</MessageTag>
    <Properties>KEYS:MessageKey|__STARTDELIVERTIME:1571388173000</Properties>
    </Message>
  • 响应示例

    <Message xmlns="http://mq.aliyuncs.com/doc/v1/">
    <MessageId>1E057D566EAD42A579935B5CD874****</MessageId>
    <MessageBodyMD5>0CC175B9C0F1B6A831C399E26977****</MessageBodyMD5>
    </Message>