本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
在调用部分接口配置或查询迁移或同步、订阅任务时,您需要配置或查询预留参数Reserve(数据类型为字符串String,传入格式为JSON)来完善或查看源或目标实例的配置信息(比如目标Kafka集群的数据存储格式、云企业网CEN的实例ID)。本文将介绍Reserve参数的适用场景和配置说明。
注意事项
- 您需要根据实例的任务类型和数据库的接入方式等配置公共参数,然后根据源和目标数据库类型等实际情况配置其他参数。 
- 若您需要配置的DTS实例中源和目标数据库有相同的参数,仅需配置一次即可,无需重复配置。 
- 若所传入数据为数值,则您需加英文双引号(""),将其转变为字符串String。 
- 您可以根据需求在控制台进行相应的预配置,然后预览对应配置的OpenAPI参数信息,以协助您填写请求参数。更多信息,请参见预览OpenAPI的请求参数。 
相关接口
公共参数
请根据DTS实例类型和数据库的接入方式,在Reserve中配置参数。
表 1. 迁移或同步实例
| 参数 | 是否必填 | 说明 | 
| targetTableMode | 是 | 目标已存在表的处理模式: 
 | 
| dts.datamove.source.bps.max | 否 | 全量或增量任务每秒同步或迁移的最大数据量,单位为B(Byte)。 说明  需与 | 
| conflict | 否 | 双向同步任务的全局冲突修复策略,取值为: 
 | 
| filterDDL | 否 | 双向同步任务是否过滤正向任务的DDL操作,取值为: 
 | 
| autoStartModulesAfterConfig | 否 | 任务启动控制参数,取值: 
 | 
| etlOperatorCtl | 否 | 是否配置ETL功能,取值为: 
 | 
| etlOperatorSetting | 否 | ETL的数据处理语句。更多信息,请参见数据处理DSL语法。 | 
| etlOperatorColumnReference | 否 | T+1业务专用的字段,ETL算子。 | 
| configKeyMap | 否 | ETL算子配置信息。 | 
| syncArchitecture | 否 | 同步拓扑,取值为: 
 | 
| dataCheckConfigure | 否 | 数据校验配置,详情请参见DataCheckConfigure参数说明。 | 
| dbListCaseChangeMode | 否 | 目标库对象名称大小写策略,取值为: 
 说明  更多信息,请参见目标库对象名称大小写策略。 | 
| maxRetryTime | 否 | 源库、目标库无法连接(可预期异常,例如网络原因异常、锁等待等)后的重试时间,取值为[600,86400]的整数,单位为秒。默认为720分钟(43200秒),建议设置30分钟(1800秒)以上。 | 
| retry.blind.seconds | 否 | 源库、目标库出现其他问题(非预期异常,例如DDL执行异常、DML执行异常等)后的重试时间,取值为[60,86340]的整数,单位为秒。默认为10分钟(600秒),建议设置10分钟(600秒)以上。 重要  
 | 
表 2. 订阅实例
| 参数 | 是否必填 | 说明 | 
| vpcId | 是 | 订阅实例的专有网络ID。 | 
| vswitchId | 是 | 订阅实例的虚拟交换机ID。 | 
| startTime | 否 | 订阅数据的起始时间戳,单位为秒。 | 
| endTime | 否 | 订阅数据的结束时间戳,单位为秒。 | 
表 3. 数据库实例的接入方式为云企业网CEN
| 参数 | 是否必填 | 说明 | 
| srcInstanceId | 否 | 源实例的云企业网实例ID。示例: 说明  当源端数据库实例接入方式为云企业网CEN时需要配置。 | 
| destInstanceId | 否 | 目标实例的云企业网实例ID。示例: 说明  当目标端数据库实例接入方式为云企业网CEN时需要配置。 | 
源数据库参数配置
请根据源数据库类型,在Reserve中配置参数。
表 4. 源数据库类型为MySQL(包括RDS MySQL和自建MySQL)
| 参数 | 配置条件 | 说明 | 
| privilegeMigration | 当源和目标数据库类型均为RDS MySQL时。 | 是否迁移账号,取值为: 
 | 
| privilegeDbList | 迁移账号的信息,您可以通过预览OpenAPI的请求参数来确定参数的格式。取值示例:  | |
| definer | 是否保留数据库对象原有的Definer,取值为true或false。 | |
| amp.increment.generator.logmnr.mysql.heartbeat.mode | 当源数据库类型为自建MySQL时。 | 是否去除正反向任务的心跳表SQL,取值为: 
 | 
| whitelist.dms.online.ddl.enable | 当目标数据库类型为MySQL(包括RDS MySQL和自建MySQL)、PolarDB MySQL版、AnalyticDB MySQL版或AnalyticDB PostgreSQL版,且为同步或迁移实例时。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 
 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | ||
| isAnalyzer | 当源和目标实例的数据库类型均为MySQL(包括RDS MySQL和自建MySQL)时。 | 是否开启迁移评估功能,评估源库和目标库的结构是否满足要求。取值为true或false。 | 
| srcSSL | 接入方式为云实例或ECS自建数据库时。 | 源端数据库的连接方式,取值为: 
 | 
表 5. 源数据库类型为PolarDB MySQL版
| 参数 | 配置条件 | 说明 | 
| amp.increment.generator.logmnr.mysql.heartbeat.mode | 必填 | 是否去除正反向任务的心跳表SQL,取值为: 
 | 
| whitelist.dms.online.ddl.enable | 当目标数据库类型为MySQL(包括RDS MySQL和自建MySQL)、PolarDB MySQL版、AnalyticDB MySQL版或AnalyticDB PostgreSQL版,且为同步或迁移实例时。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 
 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | 
表 6. 源数据库类型为RDS MariaDB
| 参数 | 配置条件 | 说明 | 
| srcSSL | 接入方式为云实例或ECS自建数据库时。 | 源端数据库的连接方式,取值为: 
 | 
表 7. 源数据库类型为Oracle
| 参数 | 配置条件 | 说明 | 
| isTargetDbCaseSensitive | 当目标数据库类型为AnalyticDB PostgreSQL版时。 | 是否为目标对象添加引号,取值为true或false。 | 
| 当目标数据库类型为AnalyticDB PostgreSQL版,且待同步或迁移的对象存在无主键表时。 | 是否将无主键表全部设置ROWID作为主键和分布键,取值为true或false。 | |
| srcOracleType | 必填 | Oracle实例的类型,取值为: 
 | 
| source.column.encoding | 需要指定实际业务的写入编码时。 | 实际业务的写入编码,支持选择的编码为: 
 | 
表 8. 源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)
| 参数 | 配置条件 | 说明 | 
| isTargetDbCaseSensitive | 当目标数据库类型为AnalyticDB PostgreSQL版时。 | 是否为目标对象添加引号,取值为true或false。 | 
| source.extractor.type | 当目标数据库类型不为DataHub,且有增量任务时需要配置。 | SQL Server增量同步或迁移的模式,取值为: 
 | 
| src.sqlserver.schema.mapper.mode | 目标数据库类型为MySQL(包括RDS MySQL和自建MySQL)、PolarDB MySQL版或云原生数据仓库 AnalyticDB MySQL 版时。 | 源库和目标库结构映射模式,取值为: 
 | 
表 9. 源数据库类型为Tair/Redis
包含云数据库Tair(兼容Redis)和自建Redis。
| 参数 | 配置条件 | 说明 | 
| srcKvStoreMode | 数据库实例的接入方式不为云实例时。 | 源自建Redis的实例模式,取值为: 
 | 
| any.sink.redis.expire.extension.seconds | 必填 | 源库中的Key迁移到目标库时额外延长的过期时间。为保障数据的一致性,如有使用到(包括但不限于)如下命令,建议设置延长Key的过期时间为600秒以上。  | 
| any.source.redis.use.slave.node | 当srcKvStoreMode为cluster时。 | 当源自建Redis的实例模式为集群版时,选择从Master或Slave节点拉取数据。取值为: 
 | 
表 10. 源数据库类型为MongoDB(包括云数据库MongoDB版和自建MongoDB)
| 参数 | 配置条件 | 说明 | 
| srcEngineArchType | 必填 | 源MongoDB数据库的架构类型,取值为: 
 | 
| sourceShardEndpointUsername | 当srcEngineArchType为2时。 | 源MongoDB数据库的Shard账号。 | 
| sourceShardEndpointPassword | 源MongoDB数据库的Shard密码。 | 
表 11. 源数据库类型为PolarDB-X 2.0
| 参数 | 配置条件 | 说明 | 
| amp.increment.generator.logmnr.mysql.heartbeat.mode | 必填 | 是否去除正反向任务的心跳表SQL,取值为: 
 | 
表 12. 源数据库类型为PolarDB PostgreSQL版(兼容Oracle)
| 参数 | 配置条件 | 说明 | 
| srcHostPortCtl | 接入方式为公网IP时。 | PolarDB PostgreSQL版(兼容Oracle)是否选择多源数据,取值为: 
 | 
| srcHostPorts | 当srcHostPortCtl为multiple时。 | 源PolarDB PostgreSQL版(兼容Oracle)节点的IP地址和端口号信息,多个 | 
表 13. 源数据库类型为TiDB
| 参数 | 配置条件 | 说明 | 
| amp.increment.generator.logmnr.mysql.heartbeat.mode | 必填 | 是否去除正反向任务的心跳表SQL,取值为: 
 | 
| isIncMigration | 必填 | 是否做增量迁移,取值为yes或no。 重要  同步任务仅支持yes。 | 
| srcKafka | 当isIncMigration为yes时。 | TiDB下游的Kafka信息。 | 
| taskType | Kafka集群类型,根据Kafka的部署位置进行选择。取值为: 
 | |
| bisId | 
 | |
| port | Kafka集群的服务端口。 | |
| user | Kafka集群账号,若Kafka未开启验证可不填写。 | |
| passwd | Kafka集群密码,若Kafka未开启验证可不填写。 | |
| version | Kafka集群的版本。 | |
| ssl | Kafka集群的连接方式,取值为: 
 | |
| topic | 迁移或同步对象所属的Topic。 | |
| host | 当taskType为EXPRESS时。 | Kafka集群的IP地址。 | 
| vpcId | 当taskType为ECS时。 | ECS实例的专有网络。 | 
目标数据库参数配置
请根据目标数据库类型,在Reserve中配置参数。
表 14. 目标数据库类型为MySQL(包括RDS MySQL和自建MySQL)
| 参数 | 配置条件 | 说明 | 
| privilegeMigration | 当源和目标数据库类型均为RDS MySQL时,详情请参见源数据库类型为MySQL(包括RDS MySQL和自建MySQL)。 | 是否迁移账号。 | 
| privilegeDbList | 迁移账号的信息。 | |
| definer | 是否保留数据库对象原有的Definer。 | |
| whitelist.dms.online.ddl.enable | 当源数据库类型为MySQL(包括RDS MySQL和自建MySQL)或PolarDB MySQL版,且为同步或迁移实例时。更多信息,请参见源数据库参数配置。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | ||
| isAnalyzer | 当源和目标实例的数据库类型均为MySQL(包括RDS MySQL和自建MySQL)时。 | 是否开启迁移评估功能,评估源库和目标库的结构是否满足要求。取值为true或false。 | 
| triggerMode | 必填 | 源库触发器迁移方式,取值为: 
 说明  更多信息,请参见配置同步或迁移触发器的方式。 | 
| destSSL | 接入方式为云实例或ECS自建数据库时。 | 目标端数据库的连接方式,取值为: 
 | 
| src.sqlserver.schema.mapper.mode | 当源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)时。 | 源库和目标库结构映射模式,详情请参见源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)。 | 
表 15. 目标数据库类型为PolarDB MySQL版
| 参数 | 配置条件 | 说明 | 
| whitelist.dms.online.ddl.enable | 当源数据库类型为MySQL(包括RDS MySQL和自建MySQL)或PolarDB MySQL版,且为同步或迁移实例时。更多信息,请参见源数据库参数配置。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | ||
| anySinkTableEngineType | 必填 | PolarDB MySQL实例的引擎类型,取值为: 
 | 
| triggerMode | 必填 | 源库触发器迁移方式,取值为: 
 说明  更多信息,请参见配置同步或迁移触发器的方式。 | 
| src.sqlserver.schema.mapper.mode | 当源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)时。 | 源库和目标库结构映射模式,详情请参见源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)。 | 
表 16. 目标数据库类型为云原生数据仓库 AnalyticDB MySQL 版
| 参数 | 配置条件 | 说明 | 
| whitelist.dms.online.ddl.enable | 当源数据库类型为MySQL(包括RDS MySQL和自建MySQL)或PolarDB MySQL版,且为同步或迁移实例时。详情请参见源数据库参数配置。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | ||
| triggerMode | 必填 | 源库触发器迁移方式,取值为: 
 说明  更多信息,请参见配置同步或迁移触发器的方式。 | 
| src.sqlserver.schema.mapper.mode | 当源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)时。 | 源库和目标库结构映射模式,详情请参见源数据库类型为SQL Server(包括RDS SQL Server和自建SQL Server)。 | 
| traceDatasource | 必填 | 是否开启多表归并,取值为true或false。 | 
| tagColumnValue | 设置是否自定义标签列时。 | 是否自定义 
 | 
| adsSqlType | 需指定按实例级别选择增量同步或迁移的SQL操作时。 | 按实例级别选择增量同步或迁移的SQL操作,多个SQL使用英文逗号分隔,取值为: 
 | 
表 17. 目标数据库类型为云原生数据仓库 AnalyticDB PostgreSQL 版
| 参数 | 配置条件 | 说明 | 
| whitelist.dms.online.ddl.enable | 当源数据库类型为MySQL(包括RDS MySQL和自建MySQL)或PolarDB MySQL版,且为同步或迁移实例时。更多信息,请参见源数据库参数配置。 | 此六个参数需要配合使用,控制是否复制源表Online DDL工具执行过程的临时表到目标库。 | 
| sqlparser.dms.original.ddl | ||
| whitelist.ghost.online.ddl.enable | ||
| sqlparser.ghost.original.ddl | ||
| online.ddl.shadow.table.rule | ||
| online.ddl.trash.table.rule | ||
| isTargetDbCaseSensitive | 当源数据库类型为MySQL(包括RDS MySQL和自建MySQL)、Oracle或SQL Server数据库(包括RDS SQL Server和自建SQL Server)时。 | 是否为目标对象添加引号,取值为true或false。 | 
| syncOperation | 需指定按实例级别选择增量同步或迁移的SQL操作时。 | 按实例级别选择增量同步或迁移的SQL操作,多个SQL使用英文逗号分隔,取值为: 
 | 
表 18. 目标数据库类型为RDS MariaDB
| 参数 | 配置条件 | 说明 | 
| triggerMode | 必填 | 源库触发器迁移方式,取值为: 
 说明  更多信息,请参见配置同步或迁移触发器的方式。 | 
| destSSL | 接入方式为云实例或ECS自建数据库时。 | 目标端数据库的连接方式,取值为: 
 | 
表 19. 目标数据库类型为MongoDB(包括云数据库MongoDB版和自建MongoDB)
| 参数 | 配置条件 | 说明 | 
| destEngineArchType | 必填 | 目标MongoDB数据库的架构类型,取值为: 
 | 
表 20. 目标数据库类型为Tair/Redis
包含云数据库Tair(兼容Redis)和自建Redis。
| 参数 | 配置条件 | 说明 | 
| destKvStoreMode | 数据库实例的接入方式不为云实例时。 | 目标自建Redis的实例模式,取值为: 
 | 
| any.sink.redis.expire.extension.seconds | 必填 | 源库中的Key迁移到目标库时额外延长的过期时间。为保障数据的一致性,如有使用到(包括但不限于)如下命令,建议设置延长Key的过期时间为600秒以上。  | 
表 21. 目标数据库类型为PolarDB PostgreSQL版(兼容Oracle)
| 参数 | 配置条件 | 说明 | 
| destHostPortCtl | 接入方式为公网IP时。 | PolarDB PostgreSQL版(兼容Oracle)是否选择多源数据,取值为: 
 | 
| destHostPorts | 当destHostPortCtl为multiple时。 | 目标PolarDB PostgreSQL版(兼容Oracle)节点的IP地址和端口号信息,多个 | 
表 22. 目标数据库类型为Oracle
| 参数 | 配置条件 | 说明 | 
| destOracleType | 必填 | Oracle实例的类型,取值为: 
 | 
表 23. 目标数据库类型为DataHub
| 参数 | 配置条件 | 说明 | 
| isUseNewAttachedColumn | 必填 | 附加列命名规则如下: 
 | 
表 24. 目标数据库类型为MaxCompute
| 参数 | 配置条件 | 说明 | 
| isUseNewAttachedColumn | 必填 | 附加列命名规则如下: 
 | 
| partition | 必填 | 增量日志表分区名称,取值为: 
 | 
表 25. 目标数据库类型为Elasticsearch
| 参数 | 配置条件 | 说明 | 
| indexMapping | 必填 | 在目标Elasticsearch实例中创建的索引名称,取值为: 
 | 
表 26. 目标数据库类型为Kafka
| 参数 | 配置条件 | 说明 | 
| destTopic | 必填 | 目标Kafka集群中迁移或同步对象所属Topic。 | 
| destVersion | 必填 | 目标Kafka集群的版本,取值为1.0、0.9、0.10。 说明  如Kafka集群版本为1.0及以上,则需传入1.0。 | 
| destSSL | 必填 | 连接目标Kafka集群的方式,取值为: 
 | 
| sink.kafka.ddl.topic | 需要指定用于存储DDL信息的Topic时。 | 用于存储DDL信息的Topic。如果未输入,DDL信息默认存储在destTopic输入的Topic中。 | 
| kafkaRecordFormat | 必填 | 数据投递到目标Kafka集群中的存储格式,取值为: 
 说明  更多格式说明,请参见消息队列中的数据存储格式。 | 
| destKafkaPartitionKey | 必填 | Kafka Partition(分区)同步策略,取值为: 
 说明  更多分区同步策略说明,请参见Kafka Partition同步策略说明。 | 
| destSchemaRegistry | 必填 | 是否使用Kafka Schema Registry,取值为yes或no。 | 
| destKafkaSchemaRegistryUrl | 当destSchemaRegistry为true时。 | Avro Schema在Kafka Schema Registry注册的URL或IP。 | 
表 27. 目标数据库类型为OSS的入湖数据集成任务
| 参数 | 配置条件 | 说明 | 
| 
 | 必填 | 目标OSS元数据(数据目录Catalog)的存储位置,取值为: 
 | 
| 
 | 必填 | 目标OSS存储数据的目录。 | 
| 
 | 必填 | 目标OSS集成数据的格式,取值为: 
 | 
| 
 | 当 | 存储目标OSS元数据的AnalyticDB MySQL 3.0集群的ID。 | 
| 
 | 当 | 存储目标OSS元数据的AnalyticDB MySQL 3.0集群的阿里云账号(主账号)或RAM用户(子账号)的ID。 说明  需要具有该AnalyticDB MySQL 3.0集群数据库的写入权限。 | 
| 
 | 当源库为MySQL或SQLServer时。 | JSON格式的源数据库的连接参数,例如:  | 
| 
 | 配置Spark任务参数时。 | JSON格式的Spark任务参数,例如:  |