ALIYUN::MNS::Subscription类型用于描述一个订阅关系,包括被订阅的主题和接收消息的终端地址(Endpoint)。
语法
{
"Type": "ALIYUN::MNS::Subscription",
"Properties": {
"Endpoint": String,
"NotifyStrategy": String,
"FilterTag": String,
"NotifyContentFormat": String,
"SubscriptionName": String,
"TopicName": String,
"DlqPolicy": Map,
"PushType": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
TopicName | String | 是 | 否 | 主题名称。 | 同一账号同一地域下,主题名称不能重复。 长度不超过256个字符。必须以英文字母开头,可包含英文字母、数字和短划线(-)。 |
SubscriptionName | String | 是 | 否 | 订阅名称。 | 长度不超过256个字符。必须以英文字母开头,可包含英文字母、数字和短划线(-)。 |
Endpoint | String | 是 | 否 | 此次订阅中接收消息的终端地址。 | 取值:
|
FilterTag | String | 否 | 否 | 此次订阅中消息过滤的标签。 | 不超过16个字符,默认不进行消息过滤。 说明 标签一致的消息才会被推送。 |
NotifyStrategy | String | 否 | 是 | 向Endpoint推送消息出现错误时的重试策略。 | 取值:
重试策略详情,请参见NotifyStrategy。 |
NotifyContentFormat | String | 否 | 否 | 向Endpoint推送的消息格式。 | 取值:
消息格式详情,请参见NotifyContentFormat。 |
DlqPolicy | Map | 否 | 是 | 死信策略。 | 更多信息,请参考DlqPolicy属性。 |
PushType | String | 否 | 否 | 终端类型。 | 取值:
|
DlqPolicy语法
"DlqPolicy": {
"DeadLetterTargetQueue": String,
"Enabled": Boolean
}
DlqPolicy属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
DeadLetterTargetQueue | String | 是 | 是 | 死信消息投递目标队列。 | 无 |
Enabled | Boolean | 是 | 是 | 是否开启死信消息投递。 | 无 |
返回值
Fn::GetAtt
SubscriptionUrl:创建的订阅URL。
SubscriptionName:订阅名称。
TopicName:主题名称。
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
Subscription:
Type: ALIYUN::MNS::Subscription
Properties:
TopicName: TestTopic
SubscriptionName: TestSubscription
Endpoint: http://endpoint.com
Outputs:
SubscriptionUrl:
Description: URL of created subscription
Value:
Fn::GetAtt:
- Subscription
- SubscriptionUrl
SubscriptionName:
Description: Subscription name
Value:
Fn::GetAtt:
- Subscription
- SubscriptionName
TopicName:
Description: Topic name
Value:
Fn::GetAtt:
- Subscription
- TopicName
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
},
"Resources": {
"Subscription": {
"Type": "ALIYUN::MNS::Subscription",
"Properties": {
"TopicName": "TestTopic",
"SubscriptionName": "TestSubscription",
"Endpoint": "http://endpoint.com"
}
}
},
"Outputs": {
"SubscriptionUrl": {
"Description": "URL of created subscription",
"Value": {
"Fn::GetAtt": [
"Subscription",
"SubscriptionUrl"
]
}
},
"SubscriptionName": {
"Description": "Subscription name",
"Value": {
"Fn::GetAtt": [
"Subscription",
"SubscriptionName"
]
}
},
"TopicName": {
"Description": "Topic name",
"Value": {
"Fn::GetAtt": [
"Subscription",
"TopicName"
]
}
}
}
}
更多示例,请参见创建主题、创建消息队列和描述订阅关系的组合YAML示例。