ALIYUN::DTS::SynchronizationJob

更新时间:2024-08-12 01:54:49

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名称。

  • 当目标实例为阿里云分析型数据库MySQL版时,指定分析型数据库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:阿里云分析型数据库MySQL版(2.0)。

  • AnalyticDB30:阿里云分析型数据库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"
            ]
          }
        }
      }
    }
  • 本页导读 (1)
  • 语法
  • 属性
  • SourceEndpoint语法
  • SourceEndpoint属性
  • SynchronizationObjects 语法
  • SynchronizationObjects属性
  • TableExcludes语法
  • TableExcludes属性
  • TableIncludes语法
  • TableIncludes属性
  • ColumnExcludes语法
  • ColumnExcludes属性
  • ColumnIncludes语法
  • ColumnIncludes属性
  • DestinationEndpoint语法
  • DestinationEndpoint属性
  • 返回值
  • 示例