全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::DTS::SynchronizationJob

更新時間:Aug 13, 2024

ALIYUN::DTS::SynchronizationJob類型用於購買同步執行個體、配置同步作業。

說明

建議使用新版資源ALIYUN::DTS::Instance(用於購買DTS執行個體)和ALIYUN::DTS::SynchronizationJob2(用於配置同步作業)。

文法

{
  "Type": "ALIYUN::DTS::SynchronizationJob",
  "Properties": {
    "SynchronizationJobClass": String,
    "SourceEndpoint": Map,
    "PayType": String,
    "DataInitialization": Boolean,
    "Period": String,
    "DestRegion": String,
    "SourceRegion": String,
    "UsedTime": Integer,
    "SynchronizationObjects": List,
    "NetworkType": String,
    "DestinationEndpoint": Map,
    "StructureInitialization": Boolean,
    "Topology": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

SynchronizationJobClass

String

同步執行個體規格。

取值:

  • micro

  • small(預設值)

  • medium

  • large

SourceEndpoint

Map

源執行個體配置。

詳情請參見SourceEndpoint屬性

PayType

String

付費類型。

取值:

  • Postpaid:後付費。

  • Prepaid:預付費。

DataInitialization

Boolean

同步之前是否進行全量資料初始化。

取值:

  • true(預設值)

  • false

Period

String

預付費周期。

取值:

  • Year

  • Month

PayType取值為Prepaid時生效。

DestRegion

String

目標執行個體所在的地區。

SourceRegion

String

源執行個體所在的地區。

UsedTime

Integer

預付費類型執行個體訂購時間長度。

PayType取值為Prepaid時此參數生效。

SynchronizationObjects

List

同步對象。

詳情請參見SynchronizationObjects屬性

NetworkType

String

當進行跨地區同步時,使用的資料轉送網路類型。

取值:

  • Internet(預設值)

  • Intranet

DestinationEndpoint

Map

目標執行個體配置。

詳情請參見DestinationEndpoint屬性

StructureInitialization

Boolean

同步之前是否進行結構對象初始化。

取值:

  • true(預設值)

  • false

Topology

String

同步拓撲。

取值:

  • oneway(預設值)

  • bidirectional

只有MySQL之間的同步時,此參數才能取值bidirectional。

SourceEndpoint文法

"SourceEndpoint": {
  "UserName": String,
  "InstanceId": String,
  "IP": String,
  "Port": String,
  "Role": String,
  "OwnerID": String,
  "Password": String,
  "InstanceType": String,
  "InstanceTypeForCreation": String
}

SourceEndpoint屬性

屬性名稱

類型

必須

允許更新

描述

約束

UserName

String

源執行個體的訪問帳號。

當源執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。當來源資料庫為Redis時,無需指定此參數。

InstanceId

String

源執行個體的ID。

IP

String

源執行個體的IP地址。

當源執行個體為通過專線接入的本機資料庫時,必須指定此參數。

Port

String

源執行個體的監聽連接埠。

當源執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。

Role

String

當源執行個體與目標執行個體不屬於同一個阿里雲帳號時,此參數為源執行個體所屬帳號對目標執行個體所屬帳號的授權角色。角色的相關許可權及授權步驟,請參見跨阿里雲帳號任務如何配置RAM授權

OwnerID

String

當源執行個體與目標執行個體不屬於同一個阿里雲帳號時,此參數為源執行個體所屬阿里雲帳號的UID。

Password

String

源執行個體的訪問密碼。

當源執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。

InstanceType

String

源執行個體的類型。

取值:

  • Redis:阿里雲Redis執行個體。

  • RDS:阿里雲RDS執行個體。

  • POLARDB:阿里雲PolarDB MySQL叢集 。

  • ECS:ECS上的自建資料庫。

  • Express:通過專線接入的自建資料庫。

  • dg:通過資料庫網關DG接入的自建資料庫。

  • cen:通過雲企業網CEN接入的自建資料庫。

InstanceTypeForCreation

String

同步鏈路的源執行個體類型。

取值:

  • MySQL

  • PolarDB

  • Redis

  • SQLServer

  • PostgreSQL

  • PolarDB-X(原DRDS升級版)

SynchronizationObjects 文法

"SynchronizationObjects": [
  {
    "TableExcludes": List,
    "NewSchemaName": String,
    "NewDBName": String,
    "TableIncludes": List,
    "SchemaName": String,
    "DBName": String
  }
]

SynchronizationObjects屬性

屬性名稱

類型

必須

允許更新

描述

約束

TableExcludes

List

待同步資料庫不需要同步的表名。

NewSchemaName

String

待同步Schema在目標執行個體中映射的Schema名。

NewDBName

String

待同步資料庫在目標執行個體中映射的庫名。

TableIncludes

List

待同步表。

SchemaName

String

待同步Schema名。

DBName

String

待同步資料庫名。

TableExcludes文法

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

TableExcludes屬性

屬性名稱

類型

必須

允許更新

描述

約束

TableName

String

表名

TableIncludes文法

"TableIncludes": [
  {
    "TableName": String,
    "FilterCondition": String,
    "ColumnExcludes": List,
    "ColumnIncludes": List,
    "NewTableName": String
  }
]

TableIncludes屬性

屬性名稱

類型

必須

允許更新

描述

約束

TableName

String

待同步的表名。

FilterCondition

String

過濾條件。

ColumnExcludes

List

不同步的列。

ColumnIncludes

List

需同步的列。

NewTableName

String

待同步表在目標執行個體映射的表名。

ColumnExcludes文法

"ColumnExcludes": [
  {
    "ColumnName": String
  }
]

ColumnExcludes屬性

屬性名稱

類型

必須

允許更新

描述

約束

ColumnName

String

不同步的列名

ColumnIncludes文法

"ColumnIncludes": [
  {
    "NewColumnName": String,
    "ColumnName": String
  }
]

ColumnIncludes屬性

屬性名稱

類型

必須

允許更新

描述

約束

NewColumnName

String

待同步列在目標執行個體中映射的列名。

ColumnName

String

需同步的列名。

DestinationEndpoint文法

"DestinationEndpoint": {
  "UserName": String,
  "InstanceId": String,
  "IP": String,
  "InstanceType": String,
  "Password": String,
  "InstanceTypeForCreation": String,
  "Port": String
}

DestinationEndpoint屬性

屬性名稱

類型

必須

允許更新

描述

約束

UserName

String

目標執行個體的訪問帳號。

當目標執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。當目標資料庫為Redis時,無需指定此參數。

InstanceId

String

目標執行個體的ID。

  • 當目標執行個體為MaxCompute時,指定MaxCompute執行個體中的Project名稱。

  • 當目標執行個體為阿里雲AnalyticDB for MySQL時,指定AnalyticDB for MySQL的叢集ID。

  • 當目標執行個體為DataHub時,指定DataHub執行個體中的Project名稱。

IP

String

目標執行個體IP地址。

當目標執行個體為通過專線接入的本機資料庫時,必須指定此參數。

InstanceType

String

目標執行個體的類型。

取值:

  • Redis:阿里雲Redis執行個體。

  • RDS(預設值):阿里雲RDS執行個體。

  • POLARDB:阿里雲PolarDB MySQL叢集。

  • ECS:ECS上的自建資料庫。

  • Express:通過專線接入的本機資料庫。

  • MaxCompute:阿里雲MaxCompute執行個體。

  • DataHub:阿里雲DataHub執行個體。

  • AnalyticDB:阿里雲AnalyticDB for MySQL(2.0)。

  • AnalyticDB30:阿里雲AnalyticDB for MySQL(3.0)。

InstanceTypeForCreation

String

同步鏈路的目標執行個體類型。

取值:

  • MySQL

  • PolarDB

  • Redis

  • MaxCompute

  • DataHub

  • Kafka

  • Elasticsearch

  • Tablestore

Password

String

目標執行個體的訪問密碼。

當目標執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。

Port

String

目標執行個體監聽連接埠。

當目標執行個體為ECS或通過專線接入的本機資料庫時,必須指定此參數。

傳回值

Fn::GetAtt

SynchronizationJobId:同步執行個體ID。

樣本

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      RdsId:
        Type: String
        AssociationProperty: ALIYUN::RDS::Instance::InstanceId
    Resources:
      SynchronizationJob:
        Type: ALIYUN::DTS::SynchronizationJob
        Properties:
          SynchronizationJobClass: small
          SourceEndpoint:
            InstanceId:
              Ref: RdsId
            InstanceTypeForCreation: MySQL
            InstanceType: RDS
          PayType: Postpaid
          DataInitialization: false
          DestRegion:
            Ref: ALIYUN::Region
          SourceRegion:
            Ref: ALIYUN::Region
          NetworkType: Internet
          DestinationEndpoint:
            InstanceId:
              Ref: RdsId
            InstanceTypeForCreation: MySQL
            InstanceType: RDS
          StructureInitialization: false
    Outputs:
      SynchronizationJobId:
        Description: Synchronization instance ID
        Value:
          Fn::GetAtt:
            - SynchronizationJob
            - SynchronizationJobId
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "RdsId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::RDS::Instance::InstanceId"
        }
      },
      "Resources": {
        "SynchronizationJob": {
          "Type": "ALIYUN::DTS::SynchronizationJob",
          "Properties": {
            "SynchronizationJobClass": "small",
            "SourceEndpoint": {
              "InstanceId": {
                "Ref": "RdsId"
              },
              "InstanceTypeForCreation": "MySQL",
              "InstanceType": "RDS"
            },
            "PayType": "Postpaid",
            "DataInitialization": false,
            "DestRegion": {
              "Ref": "ALIYUN::Region"
            },
            "SourceRegion": {
              "Ref": "ALIYUN::Region"
            },
            "NetworkType": "Internet",
            "DestinationEndpoint": {
              "InstanceId": {
                "Ref": "RdsId"
              },
              "InstanceTypeForCreation": "MySQL",
              "InstanceType": "RDS"
            },
            "StructureInitialization": false
          }
        }
      },
      "Outputs": {
        "SynchronizationJobId": {
          "Description": "Synchronization instance ID",
          "Value": {
            "Fn::GetAtt": [
              "SynchronizationJob",
              "SynchronizationJobId"
            ]
          }
        }
      }
    }