调用ConfigureDtsJob接口配置一个迁移或同步任务。

配置前,您需先调用CreateDtsInstance接口购买DTS实例。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ConfigureDtsJob

系统规定参数,取值:ConfigureDtsJob

DataInitialization Boolean true

是否执行全量数据迁移或全量数据初始化,取值:

  • true:是,为默认值。
  • false:否。
DataSynchronization Boolean true

是否执行增量数据迁移或同步,取值:

  • false:否,为默认值。
  • true:是。
DbList String {"dtstest":{"name":"dtstest","all":true}}

待迁移或同步的对象,格式为JSON串。详细定义说明,请参见迁移、同步或订阅对象说明

DestinationEndpointInstanceType String EXPRESS

目标实例类型,取值:

阿里云数据库
  • RDS:RDS MySQL、RDS SQLServer、RDS PostgreSQL、RDS MariaDB。
  • PolarDB:PolarDB MySQL。
  • POLARDBX20:PolarDB-X 2.0。
  • ADS:AnalyticDB MySQL 2.0、3.0。
  • MONGODB:云数据库MongoDB。
  • GREENPLUM:AnalyticDB PostgreSQL。
  • DATAHUB:阿里云流数据处理平台DataHub。
自建数据库
  • OTHER:有公网IP的自建数据库。
  • ECS:ECS上的自建数据库。
  • EXPRESS:通过专线接入的自建数据库。
  • CEN:通过云企业网CEN接入的自建数据库。
  • DG:通过数据库网关接入的自建数据库。
说明

  • 如目标实例为PolarDB O引擎集群,则目标实例类型需选择OTHER或者EXPRESS,作为自建数据库,且通过公网IP或者专线的方式接入。
  • 目标实例为消息队列Kafka版,则目标实例类型需选择ECS或者EXPRESS,作为自建数据库,且通过ECS或者专线的方式接入。
  • 关于支持的目标和源实例对应情况,请参见支持的数据库
  • 当目标实例为自建数据库时,您还需要执行相应的准备工作,请参见准备工作概览
DtsJobName String rdsmysql至专线接入的自建mysql

DTS实例名称。

JobType String SYNC

任务类型,取值为:

  • MIGRATION:迁移。
  • SYNC:同步。
SourceEndpointInstanceType String RDS

源实例类型,取值:

阿里云数据库
  • RDS:RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB。
  • PolarDB:PolarDB MySQL。
  • POLARDBX20:PolarDB-X 2.0。
  • MONGODB:云数据库MongoDB。
  • DISTRIBUTED_DMSLOGICDB:数据管理DMS逻辑库。
自建数据库
  • OTHER:有公网IP的自建数据库。
  • ECS:ECS上的自建数据库。
  • EXPRESS:通过专线接入的自建数据库。
  • CEN:通过云企业网CEN接入的自建数据库。
  • DG:通过数据库网关接入的自建数据库。
说明
  • 如源实例为PolarDB O引擎集群,则源实例类型需选择OTHER或者EXPRESS,作为自建数据库,且通过公网IP或者专线的方式接入。
  • 关于支持的源和目标实例对应情况,请参见支持的数据库
  • 当源实例为自建数据库时,您还需要执行相应的准备工作,请参见准备工作概览
StructureInitialization Boolean true

是否执行库表结构迁移或初始化,取值:

  • true:是,为默认值。
  • false:否。
SourceEndpointInstanceID String rm-bp1imrtn6fq7h****

源实例ID。

如源实例为阿里云数据库(如RDS MySQL),则您需要传入阿里云数据库的ID(如RDS MySQL的实例ID)。

如源实例为自建数据库,则根据SourceEndpointInstanceType的取值不同,本参数的取值有所变化,例如SourceEndpointInstanceType取值为:

  • ECS,则该参数需传入ECS的实例ID。
  • DG,则该参数需传入数据库网关ID。
  • EXPRESSCEN:则该参数需传入已和源库互联的VPC ID。
说明 取值为CEN时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见Reserve参数说明
SourceEndpointEngineName String MYSQL

源实例的数据库类型。

  • MYSQL:MySQL数据库(包括RDS MySQL和自建MySQL)。
  • PolarDB:PolarDB MySQL。
  • POLARDB_O:PolarDB O引擎。
  • POLARDBX20:云原生分布式数据库PolarDB-X 2.0。
  • ORACLE:自建Oracle。
  • POSTGRESQL:PostgreSQL数据库(包括RDS PostgreSQL、自建PostgreSQL)。
  • MSSQL:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。
  • MONGODB:MongoDB数据库(包括自建MongoDB、云数据库MongoDB)。
  • DB2:自建DB2 LUW。
  • AS400:自建Db2 for i。
  • DMSPOLARDB:数据管理DMS逻辑库。
  • HBASE:自建HBase数据库。
  • TERADATA:Teradata数据库。
说明
  • 默认取值为MYSQL
  • 关于支持的源库和目标库对应情况,请参见支持的数据库
  • 当源实例的数据库类型取值为MONGODB时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见Reserve参数说明
SourceEndpointRegion String cn-hangzhou

源实例区域,详情请参见支持的地域列表

说明 如源为阿里云数据库,则该参数必须传入。
SourceEndpointIP String 172.16.**.***

源实例的IP地址。

说明SourceEndpointInstanceTypeOTHEREXPRESSDGCEN时,本参数才可用且必须传入。
SourceEndpointPort String 3306

源实例的数据库服务端口。

说明 当源实例为自建数据库时,本参数才可用且必须传入。
SourceEndpointOracleSID String testsid

Oracle数据库的SID信息。

说明SourceEndpointEngineName取值为Oracle,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。
SourceEndpointDatabaseName String dtstestdatabase

源实例中迁移对象所属的数据库名称。

说明 当源实例或者源实例的数据库类型为PolarDB O引擎、PostgreSQL、MongoDB数据库时,本参数才可用且必须传入。
SourceEndpointUserName String dtstest

源库的数据库账号。

说明
SourceEndpointPassword String Test123456

源库数据库账号密码。

SourceEndpointOwnerID String 140692647406****

源实例所属的阿里云账号ID。

说明 传入本参数即代表执行跨阿里云账号的数据迁移或同步,同时您还需要传入SourceEndpointRole参数。
SourceEndpointRole String ram-for-dts

源实例所属云账号配置的角色名称。

说明 执行跨阿里云账号的数据迁移或同步时须传入本参数,该角色所需的权限及授权方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权
DestinationEndpointInstanceID String vpc-bp1opxu1zkhn00gzv****

目标实例ID。

如目标实例为云数据库(如RDS MySQL),则您需要传入云数据库的实例ID(如RDS MySQL的实例ID)。

如目标实例为自建数据库,则根据DestinationEndpointInstanceType的取值不同,本参数的取值有所变化,例如DestinationEndpointInstanceType取值为:

  • ECS,则该参数需传入ECS的实例ID。
  • DG,则该参数需传入数据库网关ID。
  • EXPRESSCEN:则该参数需传入已和源库互联的VPC ID。
说明 取值为CEN时,您还需要在预留参数Reserve中传入云企业网CEN的实例ID。配置方式,请参见Reserve参数说明
DestinationEndpointEngineName String MySQL

目标实例的数据库类型。

  • MySQL:MySQL数据库(包括RDS MySQL和自建MySQL)。
  • PolarDB:PolarDB MySQL。
  • POLARDB_O:PolarDB O引擎。
  • POLARDBX20:云原生分布式数据库PolarDB-X 2.0。
  • ORACLE:自建Oracle。
  • PostgreSQL:PostgreSQL数据库(包括RDS PostgreSQL、自建PostgreSQL)。
  • MSSQL:SQL Server数据库(包括RDS SQL Server和自建SQL Server)。
  • ADS:AnalyticDB MySQL 2.0。
  • ADB30:AnalyticDB MySQL 3.0。
  • MONGODB:MongoDB数据库(包括自建MongoDB、云数据库MongoDB)。
  • GREENPLUM:AnalyticDB PostgreSQL。
  • KAFKA:Kafka数据库(包括消息队列Kafka版和自建Kafka)。
  • DATAHUB:阿里云流式数据服务DataHub。
  • DB2:自建DB2 LUW。
  • AS400:Db 2 for i。
说明
  • 默认取值为MYSQL
  • 关于支持的目标库和源库对应情况,请参见支持的数据库
  • 当目标实例的数据库类型取值为KAFKAMONGODB时,您还需要在预留参数Reserve中传入部分信息。配置方式,请参见Reserve参数说明
DestinationEndpointRegion String cn-hangzhou

目标实例区域,请参见支持的地域列表

说明 如目标为阿里云数据库,则该参数必须传入。
DestinationEndpointIP String 172.16.**.***

目标实例的IP地址。

说明DestinationEndpointInstanceTypeOTHEREXPRESSDGCEN时,本参数才可用且必须传入。
DestinationEndpointPort String 3306

目标实例的数据库服务端口。

说明 当目标实例为自建数据库时,本参数才可用且必须传入。
DestinationEndpointDataBaseName String dtstestdata

目标实例中迁移对象所属的数据库名称。

说明 当目标实例或目标数据库的类型为PolarDB O引擎、AnalyticDB PostgreSQL、PostgreSQL、MongoDB数据库时,本参数才可用且必须传入。
DestinationEndpointUserName String dtstest

目标库的数据库账号。

说明
DestinationEndpointPassword String Test123456

目标库数据库账号密码。

Reserve String { "srcInstanceId": "cen-9kqshqum*******" }

DTS预留参数,格式为JSON串,您可以传入本参数完善源目库信息(如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。更多信息,请参见Reserve参数说明

Checkpoint String 1610540493

增量数据迁移的启动位点或者同步位点,格式为Unix时间戳,单位为秒。

DestinationEndpointOracleSID String testsid

Oracle数据库的SID信息。

说明DestinationEndpointEngineName取值为Oracle,且Oracle数据库为非RAC实例时,本参数才可用且必须传入。
DtsJobId String k2gm967v16f****

迁移、同步或订阅任务ID。

说明 本参数和参数DtsInstanceId两者中至少传入一个。可调用DescribeDtsJobs获取任务ID。
DtsInstanceId String dtsk2gm967v16f****

迁移、同步或订阅实例ID。

说明 本参数和参数DtsJobId两者中至少传入一个。可调用DescribeDtsJobs获取实例ID。
DelayPhone String 1361234****,1371234****

延迟报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。

说明
DelayRuleTime Long 10

触发延迟报警的阈值,单位为秒且需为整数,可根据业务需要设置阈值,建议设置10秒以上,避免因网络、数据库负载等原因导致的延迟波动。

说明DelayNotice取值为true时,本参数必须传入。
DelayNotice Boolean true

是否监控延迟状态,取值:

  • true:是。
  • false:否。
ErrorPhone String 1361234****,1371234****

异常报警的联系人手机号码,多个手机号码以英文逗号(,)分隔。

说明
ErrorNotice Boolean true

是否监控异常状态,取值:

  • true:是。
  • false:否。
SynchronizationDirection String Forward

同步方向,取值:

  • Forward:正向。
  • Reverse:反向。
说明
  • 默认取值为Forward
  • 只有当同步任务的同步拓扑为双向时,本参数传入Reverse才会生效。
RegionId String cn-hangzhou

DTS实例所属的地域,请参见支持的地域列表

返回数据

名称 类型 示例值 描述
DtsInstanceId String dtsk2gm967v16f****

迁移、同步或订阅实例ID。

DtsJobId String k2gm967v16f****

迁移、同步或订阅任务ID。

ErrCode String InternalError

调用出错时返回的错误码。

ErrMessage String The request processing has failed due to some unknown error.

调用错误时返回对应的错误信息。

HttpStatusCode String 200

状态码。

RequestId String 224DB9F7-3100-4899-AB9C-C938BCCB****

请求ID。

Success String true

请求是否成功。

示例

请求示例

http(s)://dts.aliyuncs.com/?Action=ConfigureDtsJob
&RegionId=cn-hangzhou
&SourceEndpointInstanceType=RDS
&DestinationEndpointInstanceType=EXPRESS
&StructureInitialization=true
&DataInitialization=true
&DataSynchronization=true
&DbList={"dtstest":{"name":"dtstest","all":true}}
&JobType=SYNC
&SourceEndpointInstanceID=rm-bp1imrtn6fq7h****
&SourceEndpointEngineName=MYSQL
&SourceEndpointRegion=cn-hangzhou
&SourceEndpointUserName=dtstest
&SourceEndpointPassword=Test123456
&DestinationEndpointInstanceID=vpc-bp1opxu1zkhn00gzv****
&DestinationEndpointEngineName=MYSQL
&DestinationEndpointIP=172.16.**.***
&DestinationEndpointRegion=cn-hangzhou
&DestinationEndpointPort=3306
&DestinationEndpointUserName=dtstest
&DestinationEndpointPassword=Test123456
&DtsJobId=k2gm967v16f****
&DtsInstanceId=dtsk2gm967v16f****
&DtsJobName=rdsmysql至专线接入的自建mysql
&<公共请求参数>

正常返回示例

XML格式

<ConfigureDtsJobResponse>
      <DtsJobId>k2gm967v16f****</DtsJobId>
      <RequestId>224DB9F7-3100-4899-AB9C-C938BCCB****</RequestId>
      <HttpStatusCode>200</HttpStatusCode>
      <DtsInstanceId>dtsk2gm967v16f****</DtsInstanceId>
      <Success>true</Success>
</ConfigureDtsJobResponse>

JSON格式

{
    "DtsJobId":"k2gm967v16f****",
    "RequestId":"224DB9F7-3100-4899-AB9C-C938BCCB****",
    "HttpStatusCode":200,
    "DtsInstanceId":"dtsk2gm967v16f****",
    "Success":true
}

错误码

访问错误中心查看更多错误码。