全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::DTS::SubscriptionInstance

更新時間:Aug 13, 2024

ALIYUN::DTS::SubscriptionInstance類型用於建立訂閱執行個體和配置訂閱通道。

說明

建議使用新版資源ALIYUN::DTS::Instance用於購買DTS執行個體和ALIYUN::DTS::SubscriptionJob2用於配置訂閱通道。

文法

{
  "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。

樣本

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      VpcId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      VSwitchId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: ${VpcId}
      RdsId:
        Type: String
        AssociationProperty: ALIYUN::RDS::Instance::InstanceId
    Resources:
      SubscriptionInstance:
        Type: ALIYUN::DTS::SubscriptionInstance
        Properties:
          SourceEndpointInstanceType: MySQL
          Configuration:
            SubscriptionObject:
              - DBName: DemoDB
            SubscriptionDataType:
              DDL: true
              DML: false
            SubscriptionInstanceName: TestSubscription
            SourceEndpoint:
              InstanceType: RDS
              UserName: DBAdmin
              Password: Admin@123!
              InstanceID:
                Ref: RdsId
            SubscriptionInstanceNetworkType: vpc
            SubscriptionInstance:
              VPCId:
                Ref: VpcId
              VSwitchId:
                Ref: VSwitchId
    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
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "VpcId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "VSwitchId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VpcId}"
          }
        },
        "RdsId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::RDS::Instance::InstanceId"
        }
      },
      "Resources": {
        "SubscriptionInstance": {
          "Type": "ALIYUN::DTS::SubscriptionInstance",
          "Properties": {
            "SourceEndpointInstanceType": "MySQL",
            "Configuration": {
              "SubscriptionObject": [
                {
                  "DBName": "DemoDB"
                }
              ],
              "SubscriptionDataType": {
                "DDL": true,
                "DML": false
              },
              "SubscriptionInstanceName": "TestSubscription",
              "SourceEndpoint": {
                "InstanceType": "RDS",
                "UserName": "DBAdmin",
                "Password": "Admin@123!",
                "InstanceID": {
                  "Ref": "RdsId"
                }
              },
              "SubscriptionInstanceNetworkType": "vpc",
              "SubscriptionInstance": {
                "VPCId": {
                  "Ref": "VpcId"
                },
                "VSwitchId": {
                  "Ref": "VSwitchId"
                }
              }
            }
          }
        }
      },
      "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"
            ]
          }
        }
      }
    }