ALIYUN::DTS::SubscriptionInstance类型用于创建订阅实例和配置订阅通道。

语法

{
  "Type": "ALIYUN::DTS::SubscriptionInstance",
  "Properties": {
    "Configuration": Map,
    "SourceEndpointInstanceType": String,
    "Period": String,
    "PayType": String,
    "UsedTime": Integer,
    "Tags": List
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Configuration Map 配置信息。 更多信息,请参见Configuration属性
SourceEndpointInstanceType String 创建数据订阅的实例类型。 取值:
  • MySQL(默认值)
  • PolarDB
  • DRDS
  • Oracle
Period String 预付费实例的计费方式。 取值:
  • Year:包年。
  • Month:包月。
说明 当付费类型为Prepaid(预付费)时,该参数才有效且必须设置。
PayType String 付费类型。 取值:
  • Postpaid:按量付费,默认付费类型。
  • Prepaid:预付费。
UsedTime Integer 预付费实例购买时长。 取值:
  • 当计费方式为Year(包年)时,取值范围为1~5。
  • 当计费方式为Month(包月)时,取值范围为1~60。
说明 当付费类型为Prepaid(预付费)时,该参数才有效且必须设置。
Tags List 用户自定义标签。 更多信息,请参见Tags属性

Tags语法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags属性

属性名称 类型 必须 允许更新 描述 约束
Key String 标签键。 长度为1~128个字符。

不能以aliyunacs:开头,不能包含http://https://

Value String 标签值。 长度为0~128个字符。

不能以aliyunacs:开头,不能包含http://https://

Configuration语法

"Configuration": {
  "SubscriptionDataType": Map,
  "SubscriptionInstanceName": String,
  "SubscriptionInstance": Map,
  "SourceEndpoint": Map,
  "SubscriptionInstanceNetworkType": String,
  "DbList": Map
}

Configuration属性

属性名称 类型 必须 允许更新 描述 约束
SubscriptionDataType Map 订阅的数据类型。 更多信息,请参见SubscriptionDataType属性
SubscriptionInstanceName String 订阅通道名称。
SubscriptionInstance Map 订阅通道的网络配置。 更多信息,请参见SubscriptionInstance属性
SourceEndpoint Map 订阅源实例的连接信息。 更多信息,请参见SourceEndpoint属性
SubscriptionInstanceNetworkType String 订阅通道的网络类型。 取值:
  • classic:经典网络。
  • vpc:专有网络。
DbList Map 订阅对象。 更多信息,请参见迁移、同步或订阅对象说明

TableIncludes语法

"TableIncludes": [
  {
    "TableName": String
  }
]

TableIncludes属性

属性名称 类型 必须 允许更新 描述 约束
TableName String 待订阅的表名。

TableExcludes语法

"TableExcludes": [
  {
    "TableName": String
  }
]

TableExcludes属性

属性名称 类型 必须 允许更新 描述 约束
TableName String 待订阅的库中不需要订阅的表名。

SubscriptionDataType语法

"SubscriptionDataType": {
  "DML": Boolean,
  "DDL": Boolean
}

SubscriptionDataType属性

属性名称 类型 必须 允许更新 描述 约束
DML Boolean 是否订阅DML类型的数据。 取值:
  • true:订阅。
  • false:不订阅。
DDL Boolean 是否订阅DDL类型的数据。 取值:
  • true:订阅。
  • false:不订阅。

SubscriptionInstance语法

"SubscriptionInstance": {
  "VPCId": String,
  "VSwitchId": String
}

SubscriptionInstance属性

属性名称 类型 必须 允许更新 描述 约束
VPCId String 订阅通道的专有网络ID。 当SubscriptionInstanceNetworkType参数值为vpc时,该参数有效。
VSwitchId String 订阅通道的虚拟交换机ID。 SubscriptionInstanceNetworkType参数值为vpc时,该参数有效。

SourceEndpoint语法

"SourceEndpoint": {
  "Role": String,
  "OracleSID": String,
  "UserName": String,
  "OwnerID": String,
  "InstanceID": String,
  "IP": String,
  "Port": String,
  "DatabaseName": String,
  "InstanceType": String,
  "Password": String
}

SourceEndpoint属性

属性名称 类型 必须 允许更新 描述 约束
Role String 当源实例是RDS实例且源实例与目标实例所属的阿里云账号不同时,该参数是源实例所属目标实例的阿里云账号的授权角色。
OracleSID String 当源实例数据库类型为Oracle时,该参数为Oracle实例名称。
UserName String 源实例数据库访问账号。
OwnerID String 当源实例是RDS实例且源实例与目标实例所属的阿里云账号不同时,该参数是源RDS实例所属的阿里云账号的UID。
InstanceID String 源实例ID。
IP String 源实例的连接地址。 当源实例是自建数据库时,该参数必填。
Port String 源实例端口。 当源实例是自建数据库时,该参数必填。
DatabaseName String 创建连接时使用的数据库库名称。
InstanceType String 订阅源实例的实例类型。 取值:
  • RDS:阿里云RDS实例。
  • ECS:ECS自建数据库。
Password String 源实例登录密码。

返回值

Fn::GetAtt

  • SubscriptionInstanceId:订阅实例ID。
  • VPCHost:订阅通道的专有网络地址。
  • PublicHost:订阅通道的公网地址。
  • PrivateHost:订阅通道的私网地址。
  • SubscribeTopic: 订阅通道的Topic。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Configuration": {
      "Type": "Json",
      "Description": "Subscription configuration."
    },
    "UsedTime": {
      "Type": "Number",
      "Description": "The subscription length.\nNote: You must specify this parameter only if you set the PayType parameter to PrePaid.\nYou can set the Period parameter to specify the unit of the subscription length."
    },
    "Period": {
      "Type": "String",
      "Description": "The unit of the subscription length. Valid values: Year and Month.\nNote: You must specify this parameter only if you set the PayType parameter to PrePaid.",
      "AllowedValues": [
        "Year",
        "Month"
      ]
    },
    "PayType": {
      "Type": "String",
      "Description": "Payment type. Valid value:\nPostPaid: Pay-as-you-go, which is default value.\nPrePaid: subscription.",
      "AllowedValues": [
        "Subscription",
        "PrePaid",
        "PrePay",
        "Prepaid",
        "PayAsYouGo",
        "PostPaid",
        "PayOnDemand",
        "Postpaid"
      ]
    },
    "SourceEndpointInstanceType": {
      "Type": "String",
      "Description": "Data subscription instance type, value is:MySQL: ApsaraDB RDS for MySQL instance or self-managed MySQL database.\nPolarDB: PolarDB for MySQL cluster.\npolardb_o: PolarDB O Edition cluster.\npolardb_pg: PolarDB for PostgreSQL cluster.\nDRDS: PolarDB-X instance V1.0 or V2.0.\nPostgreSQL: self-managed PostgreSQL database.\nOracle: self-managed Oracle database."
    }
  },
  "Resources": {
    "SubscriptionInstance": {
      "Type": "ALIYUN::DTS::SubscriptionInstance",
      "Properties": {
        "Configuration": {
          "Ref": "Configuration"
        },
        "UsedTime": {
          "Ref": "UsedTime"
        },
        "Period": {
          "Ref": "Period"
        },
        "PayType": {
          "Ref": "PayType"
        },
        "SourceEndpointInstanceType": {
          "Ref": "SourceEndpointInstanceType"
        }
      }
    }
  },
  "Outputs": {
    "PublicHost": {
      "Description": "Public host.",
      "Value": {
        "Fn::GetAtt": [
          "SubscriptionInstance",
          "PublicHost"
        ]
      }
    },
    "PrivateHost": {
      "Description": "Private host.",
      "Value": {
        "Fn::GetAtt": [
          "SubscriptionInstance",
          "PrivateHost"
        ]
      }
    },
    "SubscriptionInstanceId": {
      "Description": "The ID of Data subscription instance.",
      "Value": {
        "Fn::GetAtt": [
          "SubscriptionInstance",
          "SubscriptionInstanceId"
        ]
      }
    },
    "VPCHost": {
      "Description": "VPC host.",
      "Value": {
        "Fn::GetAtt": [
          "SubscriptionInstance",
          "VPCHost"
        ]
      }
    }
  }
}