在调用部分接口配置或查询迁移或同步、订阅任务时,您需要配置或查询预留参数Reserve(数据类型为字符串String,传入格式为JSON)来完善或查看源或目标实例的配置信息(比如目标Kafka集群的数据存储格式、云企业网CEN的实例ID)。本文将介绍Reserve参数的适用场景和配置说明。
注意事项
您需要根据实例的任务类型和数据库的接入方式等配置公共参数,然后根据源和目标数据库类型等实际情况配置其他参数。
若您需要配置的DTS实例中源和目标数据库有相同的参数,仅需配置一次即可,无需重复配置。
若所传入数据为数值,则您需加英文双引号(""),将其转变为字符串String。
您可以在控制台的高级配置阶段,将鼠标光标移动至下一步保存任务并预检查按钮上,然后单击气泡中的预览OpenAPI参数,查看该实例使用API接口配置时的参数信息。
相关接口
公共参数
请根据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秒)以上。 |
表 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 | 迁移账号的信息。 | |
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集群中的存储格式,取值为:
说明 更多格式说明,请参见Kafka集群的数据存储格式。 |
destKafkaPartitionKey | 必填 | Kafka Partition(分区)同步策略,取值为:
说明 更多分区同步策略说明,请参见Kafka Partition同步策略说明。 |
destSchemaRegistry | 必填 | 是否使用Kafka Schema Registry,取值为yes或no。 |
destKafkaSchemaRegistryUrl | 当destSchemaRegistry为true时。 | Avro Schema在Kafka Schema Registry注册的URL或IP。 |