使用发送消息 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>