发布消息

最后更新时间:2020-02-26 14:30:19

    接口描述

    本接口(PublishMessage)用于发布一条消息到指定的主题。

    • 外网接口请求域名:https://cmq-topic-{$region}.api.qcloud.com
    • 内网接口请求域名:http://cmq-topic-{$region}.api.tencentyun.com

    上述域名中的{$region}需用具体地域替换:gz(广州),sh(上海),bj(北京),shjr(上海金融),szjr(深圳金融),hk(中国香港),cd(成都),ca(北美),usw(美西),sg(新加坡)。公共参数中的 region 值要与域名的 region 值保持一致,如果出现不一致的情况,以域名的 region 值为准,将请求发往域名 region 所指定的地域。

    任何时候(包括内测期间),如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

    输入参数

    以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。

    参数名称 是否必选 类型 描述
    topicName String 主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
    msgBody String 消息正文。至少1Byte,最大长度受限于设置的主题消息最大长度属性。
    msgTag.n String 消息过滤标签。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与 Subscribe 接口的 filterTag 参数配合使用,规则:
    (1)如果 filterTag 没有设置,则无论 msgTag是 否有设置,订阅接收所有发布到 Topic 的消息;
    (2)如果 filterTag 数组有值,则只有数组中至少有一个值在 msgTag 数组中也存在时(即 filterTag 和 msgTag 有交集),订阅才接收该发布到 Topic 的消息;
    (3)如果 filterTag 数组有值,但 msgTag 没设置,则不接收任何发布到 Topic 的消息,可以认为是(2)的一种特例,此时 filterTag 和 msgTag 没有交集。规则整体的设计思想是以订阅者的意愿为主。
    routingKey String 长度<=64字节,该字段用于表示发送消息的路由路径,最多含有15个“.”,即最多16个词组。
    消息发送到 topic 类型的 exchange 上时不能随意指定 routingKey。需要符合上面的格式要求,一个由订阅者指定的带有 routingKey 的消息将会推送给所有 BindingKey 能与之匹配的消费者,这种匹配情况有两种关系:
    1 *(星号),可以替代一个单词(一串连续的字母串);
    2 #(井号):可以匹配一个或多个字符。

    输出参数

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

    错误码

    请查看 公共错误码

    示例

    输入:

    https://domain/v2/index.php?Action=PublishMessage
    &topicName=test-topic-123
    &msgBody=helloworld
    &<公共请求参数>
    

    输出:

    {
    "code" : 0,
    "message" : "",
    "requestId":"14534664555",
    "msgId":"123345346"
    }

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助