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 |
否 |
否 |
预付费实例的计费方式。 |
取值:
说明 当付费类型为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个字符。
不能以aliyun 和acs: 开头,不能包含http:// 或https:// 。
|
Value |
String |
否 |
否 |
标签值。 |
长度为0~128个字符。
不能以aliyun 和acs: 开头,不能包含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 |
否 |
否 |
订阅通道的网络类型。 |
取值:
|
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类型的数据。 |
取值:
|
DDL |
Boolean |
是 |
否 |
是否订阅DDL类型的数据。 |
取值:
|
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"
]
}
}
}
}