更新时间:2022-01-10 GMT+08:00
分享

订阅

功能介绍

为指定Topic添加一个订阅者,如果订阅者的状态为未确认,则向订阅者发送一个确认的消息。待订阅者进行ConfirmSubscription确认后,该订阅者才能收到Topic发布的消息。单Topic默认可添加10000个订阅者,高并发场景下,可能会出现订阅者数量超过10000仍添加成功的情况,此为正常现象。接口是幂等的,如果添加已存在的订阅者,则返回成功,且status code为200,否则status code为201。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/notifications/topics/{topic_urn}/subscriptions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

获取项目ID请参考获取项目ID

topic_urn

String

Topic的唯一的资源标识,可通过查询主题列表获取该标识。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

protocol

String

不同协议对应不同的endpoint(接受消息的接入点)。 目前支持的协议包括:

  • “email”:邮件传输协议,endpoint为邮箱地址。
  • “sms”:短信传输协议,endpoint为手机号码。
  • “functionstage”:FunctionGraph(函数)传输协议,endpoint为一个函数。
  • “http”、“https”:HTTP/HTTPS传输协议,endpoint为URL。
  • “callnotify”:语音通知传输协议,endpoint为手机号码。

endpoint

String

  • https协议,接入点必须以“https://”开头。
  • email协议,接入点必须是邮件地址。
  • sms协议,接入点必须是一个电话号码。
  • functionstage协议,接入点必须是一个函数。
  • dms协议,接入点必须是一个消息队列。
  • application协议,接入点必须是一个应用平台的设备终端。
  • callnotify协议,接入点必须是一个电话号码。

remark

String

备注。

最大支持128字节,约42个中文,必须是UTF-8编码的字符串,否则无法正常显示中文。

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

subscription_urn

String

订阅者的唯一资源标识。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 403

表6 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 404

表7 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

状态码: 500

表8 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

code

String

服务异常错误信息编码。

message

String

服务异常错误信息描述。

请求示例

为指定Topic添加一个订阅者

POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions

{
  "protocol" : "email",
  "endpoint" : "xxx@xxx.com",
  "remark" : "运维"
}

响应示例

状态码: 201

OK

[ {
  "request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085",
  "subscription_urn" : "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837"
} ]

状态码

状态码

描述

201

OK

400

Bad Request

403

Unauthorized

404

Not Found

500

Internal Server Error

错误码

请参见错误码

分享:

    相关文档

    相关产品

关闭导读