CMQ 创建订阅的时候一直报 endpoint 参数错误?

  • 回答 (1)
  • 关注 (0)
  • 查看 (250)

protocol 是 http 的,然后这个 endpoint 也是 http:// 开头的,一切都符合要求。

但是不管是在腾讯云的后台上操作,还是用代码创建,都是相同的错误。

是这个 endpoint 有什么特殊要求吗?

我的这个 endpoint 是 http://xxxx-xxx.xxx.cn/api/hook

请求:

Nonce=5051285672901422566&endpoint=http%3A%2F%2Femail-hook.gxxxong.cn%2Fapi%2Fauth%2Fme&protocol=http&notifyStrategy=EXPONENTIAL_DECAY_RETRY&Timestamp=1530021712&notifyContentFormat=JSON&SignatureMethod=HmacSHA1&RequestClient=SDK_Python_1.3&subscriptionName=subsc-test&Signature=%2FdC%2FiNbLUrhfqDdsBv4dPgOTCYc%3D&Action=Subscribe&SecretId=AKdveIpgDZlmdsdKesw8Z8W&topicName=test

报错:

Code:4000, Message:(4000)请求失败,参数错误:[endpoint], Data:{u'codeDesc': u'InvalidParameter', u'message': u'(4000)请求失败,参数错误:[endpoint]', u'code': 4000}

用户1313535用户1313535修改于
测试功能回答于

具体报错是什么?错误代码提供一下,根据错误代码和下面的参数对比一下是不是有参数拼的不对

参数名称

是否必选

类型

描述

topicName

String

主题名字,在单个地域同一帐号下唯一。主题名称是一个不超过 64 个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。

subscriptionName

String

订阅名字,在单个地域同一帐号的同一主题下唯一。订阅名称是一个不超过 64 个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。

protocol

String

订阅的协议,目前支持两种协议:http、queue。使用 http 协议,用户需自己搭建接受消息的 web server。使用 queue,消息会自动推送到 CMQ queue,用户可以并发地拉取消息。

endpoint

String

接收通知的 endpoint,根据协议 protocol 区分:对于 http,endpoint 必须以 “http://” 开头,host 可以是域名或 IP;对于 queue,则填 queueName。 请注意,目前推送服务不能推送到私有网络中,因此 endpoint 填写为私有网络域名或地址将接收不到推送的消息,目前支持推送到公网和基础网络。

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 个词组。

所属标签

可能回答问题的人

  • 腾讯云技术服务团队

    腾讯云 · 技术服务团队 (已认证)

    16 粉丝0 提问3 回答
  • 宝哥@devops运维

    腾讯 · 高级云计算工程师 (已认证)

    45 粉丝0 提问0 回答
  • elliswu

    腾讯计算机系统有限公司 · 高级工程师 (已认证)

    3 粉丝0 提问0 回答
  • 腾讯云中间件团队

    30 粉丝0 提问0 回答
  • 小翔

    0 粉丝0 提问1 回答
  • 1076485026

    0 粉丝0 提问0 回答

扫码关注云+社区

领取腾讯云代金券