Subscribe - 为主题创建Subscription

更新时间:
复制 MD 格式

调用Subscribe接口,为主题创建Subscription。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

mns:Subscribe

update

*Subscription

acs:mns:{#regionId}:{#accountId}:/topics/{#TopicName}/subscriptions/{#SubscriptionName}

  • mns:PushType
无

请求参数

名称

类型

必填

描述

示例值

TopicName

string

是

主题的名称。

topic****1

SubscriptionName

string

是

订阅名称。

testSubscription

PushType

string

是

订阅的推送类型

取值:

  • http:HTTP/HTTPS 推送,将消息推送到指定的 HTTP 或 HTTPS 回调地址。

  • queue:队列推送,将消息推送到指定的 SMQ 队列。

  • dm:邮箱推送,通过邮件服务(DirectMail)发送通知。需同时设置 DmAttributes 和 StsRoleArn 参数。

  • dysms:短信推送,通过阿里云短信服务发送通知。需同时设置 DysmsAttributes 参数。

  • fc:函数计算推送,将消息推送到阿里云函数计算(FC)。

  • eventbus:事件总线推送,将消息推送到 EventBridge 事件总线。

说明: 以下值已废弃,仅用于兼容旧订阅:

  • mpush:移动推送

  • alisms:旧版短信

  • email:旧版邮箱,请使用 dm

  • kafka:Kafka 推送类型已废弃。

queue

Endpoint

string

是

接收消息的终端地址

格式根据 PushType 不同而不同:

  • PushType=http:HTTP/HTTPS 回调 URL,如 http://example.com/callback 或 https://example.com/callback。

  • PushType=queue:目标队列 ARN,格式为 acs:mns:{RegionId}:{主账号 UID}:queues/{QueueName}。

  • PushType=dm:邮箱推送终端,格式固定为 smq-ep:dm:{主账号 UID}:__dynamic,其中 {主账号 UID} 替换为您的阿里云主账号 UID。

  • PushType=dysms:短信推送终端,格式为 smq-ep:dysms:{主账号 UID}:{手机号码}。

  • PushType=kafka:Kafka 推送终端,Kafka 推送类型已废弃。

  • PushType=fc:函数计算终端,格式为 acs:fc:{RegionId}:{主账号 UID}:services/{ServiceName}/functions/{FunctionName}。

  • PushType=eventbus:事件总线终端,格式为 acs:eventbridge:{RegionId}:{主账号 UID}:eventbus/{EventBusName}。

http://*****.com/uri1/xxx

NotifyStrategy

string

否

向 Endpoint 推送消息错误时的重试策略。取值说明如下:

  • BACKOFF_RETRY:退避重试。

  • EXPONENTIAL_DECAY_RETRY:指数衰减重试。

BACKOFF_RETRY

NotifyContentFormat

string

否

推送的消息内容格式

取值:

  • XML:消息体以 XML 格式推送(默认)。

  • JSON:消息体以 JSON 格式推送。

  • SIMPLIFIED:仅推送消息体原始内容,不包含 SMQ 的元信息包装。

XML

MessageTag

string

否

该订阅中消息过滤的标签(标签一致的消息才会被推送)。 取值范围:不超过 16 个字符的字符串。

默认不进行消息过滤。

important

DlqPolicy

object

否

死信队列策略。

Enabled

boolean

否

是否开启死信消息投递。

true

DeadLetterTargetQueue

string

否

死信消息投递目标队列。

deadLetterTargetQueue

TenantRateLimitPolicy

object

否

限流策略

Enabled

boolean

否

是否启用限流策略,true 启用,false 关闭

MaxReceivesPerSecond

integer

否

每秒最大推送/消费次数

50

StsRoleArn

string

否

服务扮演的 RAM 角色 ARN。格式为 acs:ram::{主账号 UID}:role/{RoleName},其中 {主账号 UID} 必须替换为调用 OpenAPI 的阿里云主账号 UID。

acs:ram::1234567890:role/AliyunMNSNotificationRole

DmAttributes

object

否

邮箱推送相关属性,当 PushType=dm 时必填。JSON 格式,包含以下字段:

  • AccountName:发信地址,即 DirectMail 中配置的发信地址(如 notify@example.com)。

  • Subject:邮件主题。

AccountName

string

否

发信地址

notify@example.com

Subject

string

否

邮件主题

notify

DysmsAttributes

object

否

短信推送相关属性,当 PushType=alisms 时必填。JSON 格式,包含以下字段:

  • TemplateCode:短信模板 Code,在短信服务控制台中获取。

  • SignName:短信签名名称。

TemplateCode

string

否

短信模板 Code

123456

SignName

string

否

短信签名名称

阿里云短信测试专用

KafkaAttributes

object

否

Kafka 推送类型已废弃

BusinessMode

string

否

Kafka 推送类型已废弃

Default empty string

返回参数

名称

类型

描述

示例值

object

RequestId

string

请求的 ID。

06273500-249F-5863-121D-74D51123****

Code

integer

响应 code。

200

Status

string

响应的状态。

Success

Message

string

响应信息。

operation success

Success

boolean

请求是否成功。

true

Data

string

响应数据。

{'Code': 200, 'Success': True}

示例

正常返回示例

JSON格式

{
  "RequestId": "06273500-249F-5863-121D-74D51123****",
  "Code": 200,
  "Status": "Success",
  "Message": "operation success",
  "Success": true,
  "Data": "{'Code': 200, 'Success': True}"
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情。