ALIYUN::MNS::Subscription类型用于描述一个订阅关系,包括被订阅的主题和接收消息的Endpoint。

语法

{
  "Type": "ALIYUN::MNS::Subscription",
  "Properties": {
    "Endpoint": String,
    "NotifyStrategy": String,
    "FilterTag": String,
    "NotifyContentFormat": String,
    "SubscriptionName": String,
    "TopicName": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
TopicName String 主题名称

同一账号同一地域下,主题名称不能重复。

必须以英文字母开头,可包含英文字母、数字、短划线(-),长度不超过256个字符。

SubscriptionName String 订阅名称 必须以英文字母开头,可包含英文字母、数字、短划线(-),长度不超过256个字符。
Endpoint String 此次订阅中接收消息的终端地址 取值:
  • HttpEndpoint:必须以http://作为前缀
  • QueueEndpoint:格式为acs:mns:{REGION}:{AccountID}:queues/{QueueName}
  • MailEndpoint:格式为mail:directmail:{MailAddress}
  • SmsEndpoint:格式为sms:directsms:anonymoussms:directsms:{Phone}
FilterTag String 此次订阅中消息过滤的标签 不超过16个字符,默认不进行消息过滤。
说明 标签一致的消息才会被推送。
NotifyStrategy String 向Endpoint推送消息出现错误时的重试策略 取值:
  • BACKOFF_RETRY(默认值)
  • EXPONENTIAL_DECAY_RETRY
重试策略详情,请参见NotifyStrategy
NotifyContentFormat String 向Endpoint推送的消息格式 取值:
  • XML(默认值)
  • JSON
  • SIMPLIFIED

消息格式详情,请参见NotifyContentFormat

返回值

Fn::GetAtt

SubscriptionUrl:创建的订阅URL。

示例

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "Topic": {
      "Type": "ALIYUN::MNS::Topic",
      "Properties": {
        "TopicName": "test"
      }
    },
    "Subscription": {
      "Type": "ALIYUN::MNS::Subscription",
      "Properties": {
        "TopicName": "test",
        "SubscriptionName": "test",
        "Endpoint": "http://your-endpoint.com",
        "FilterTag": "AFilterTag",
        "NotifyStrategy": "BACKOFF_RETRY",
        "NotifyContentFormat": "XML"
      }
    },
    "Outputs": {
      "SubscriptionUrl": {
        "Value": { "Fn::GetAtt": ["Subscription", "SubscriptionUrl"] }
      }
    }
  }
}