有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

接口描述

本接口(SetSubscriptionAttributes)用于修改消息订阅的属性。

  • 外网接口请求域名: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个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
subscriptionName String 订阅名字,在单个地域同一账号的同一主题下唯一。订阅名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。
notifyStrategy String 向 endpoint 推送消息出现错误时,CMQ 推送服务器的重试策略。取值如下:
(1)BACKOFF_RETRY,退避重试。每隔一定时间重试一次,重试够一定次数后,就把该消息丢弃,继续推送下一条消息。
(2)EXPONENTIAL_DECAY_RETRY,指数衰退重试。每次重试的间隔是指数递增的,例如开始1s,后面是2s,4s,8s···由于 Topic 消息的周期是一天,所以最多重试一天就把消息丢弃。默认值是 EXPONENTIAL_DECAY_RETRY。
notifyContentFormat String 推送内容的格式。取值:(1)JSON;(2)SIMPLIFIED,即 raw 格式。如果 protocol 是 queue,则取值必须为 SIMPLIFIED。如果 protocol 是 HTTP,两个值均可以,默认值是 JSON。
filterTag.n String 消息正文。消息标签(用于消息过滤)。标签数量不能超过5个,每个标签不超过16个字符。与 (Batch)PublishMessage 的 msgTag 参数配合使用,规则:(1)如果 filterTag 没有设置,则无论 msgTag 是否有设置,订阅接收所有发布到Topic的消息;
(2)如果 filterTag 数组有值,则只有数组中至少有一个值 在msgTag 数组中也存在时(即 filterTag 和 msgTag 有交集),订阅才接收该发布到 Topic 的消息;
(3)如果 filterTag 数组有值,但 msgTag没 设置,则不接收任何发布到 Topic 的消息,可以认为是(2)的一种特例,此时 filterTag 和 msgTag 没有交集。规则整体的设计思想是以订阅者的意愿为主。
bindingKey.n String 数组 bindingKey 数量不超过5个, 每个 bindingKey 长度不超过 64 字节,该字段表示订阅接收消息的过滤策略,每个 bindingKey 最多含有15个“.”, 即最多16个词组。

输出参数

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

错误码

请查看 公共错误码

示例

输入:

 https://domain/v2/index.php?Action=SetSubscriptionAttributes
 &topicName=test-Topic-123
 &subscriptionName=test-subscription-123
 &filterTag.0=football
 &<公共请求参数>

输出:

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