本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
目标元数据设置包括:有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例。
-
TargetSchema
– 目标表架构名称。如果此元数据选项为空,则使用源表中的架构。如果未定义任何源架构, AWS DMS 自动将目标数据库的所有者前缀添加到所有表。对于 MySQL 类型的目标终端节点,该选项应保留为空。在数据映射中重命名架构优先于此设置。 -
LOB 设置-决定如何管理大型对象 (LOBs) 的设置。如果您设置
SupportLobs=true
,则必须将下列项之一设置为true
:-
FullLobMode
– 如果将该选项设置为true
,则必须为LobChunkSize
选项输入值。输入在将数据复制到目标时要使用的 LOB 数据块的大小 (以 KB 为单位)。FullLobMode
选项最适合非常大的 LOB 大小,但往往会导致加载速度较慢。LobChunkSize
的建议值为 64 KB。将LobChunkSize
的值增加到 64 KB 以上可能会导致任务失败。 -
InlineLobMaxSize
— 此值决定了在满载期间哪些以内联方式 LOBs AWS DMS 传输。小额 LOBs 传输比从源表中查找更有效。在满载期间, AWS DMS 检查所有 LOBs 并对小于的进行内联传输InlineLobMaxSize
。 LOBs AWS DMS 转账全部 LOBs 大于InlineLobMaxSize
inFullLobMode
。InlineLobMaxSize
的默认值是 0,范围为 1–102400 KB(100 MB)。InlineLobMaxSize
只有在您知道大多数值 LOBs 都小于中指定的值时,才为设置值InlineLobMaxSize
。 -
LimitedSizeLobMode
– 如果将该选项设置为true
,则必须为LobMaxSize
选项输入值。输入单个 LOB 的最大大小(以 KB 为单位)。LobMaxSize
的最大建议值为 102400 KB(100 MB)。
有关这些任务 LOB 设置的使用条件的更多信息,请参阅为任务中的源数据库设置 LOB 支持 AWS DMS。您还可以控制单个表 LOBs 的管理。有关更多信息,请参阅 表和集合设置规则和操作。
-
-
LoadMaxFileSize
– 基于 CSV 的目标端点(例如 MySQL、PostgreSQL 和 Amazon Redshift)的选项,支持使用逗号分隔值(.csv)文件加载数据。LoadMaxFileSize
定义磁盘上存储的、未加载的数据(例如 .csv 文件)的最大大小。该选项会覆盖目标端点连接属性maxFileSize
。您可以提供介于 0 (指示该选项不会覆盖连接属性) 和 100000 KB 之间的值。 -
BatchApplyEnabled
– 确定是否单独应用了每个事务或是否批量提交了更改。默认值为false
。将
BatchApplyEnabled
设置为true
时,DMS 要求源表上有主键(PK)或唯一密钥(UK)。如果源表上没有 PK 或 UK,则只能应用批量插入,不能应用批量更新和删除。将
BatchApplyEnabled
设置为true
时,如果目标表具有唯一约束和主键,则 AWS DMS 生成错误消息。如果BatchApplyEnabled
设置为true
,则不支持同时具有唯一约束和主键的目标表。如果设置
BatchApplyEnabled
为 true,并且在使用默认错误处理策略的表中 AWS DMS 遇到数据错误,则其余表的 AWS DMS 任务会从批处理 one-by-one模式切换到模式。要更改此行为,可以在任务设置 JSON 文件的"ErrorBehavior"
组属性中设置对以下策略的"SUSPEND_TABLE"
操作:-
DataErrorPolicy
-
ApplyErrorDeletePolicy
-
ApplyErrorInsertPolicy
-
ApplyErrorUpdatePolicy
有关此
"ErrorBehavior"
组属性的更多信息,请参阅为 AWS Database Migration Service 任务指定任务设置中的任务设置 JSON 文件示例。将这些策略设置为后"SUSPEND_TABLE"
,该 AWS DMS 任务会暂停所有引发错误的表上的数据错误,并继续以批处理模式处理所有表。您可以将
BatchApplyEnabled
参数与BatchApplyPreserveTransaction
参数一起使用。如果BatchApplyEnabled
设置为true
,则BatchApplyPreserveTransaction
参数确定事务完整性。如果
BatchApplyPreserveTransaction
设置为true
,则保留事务完整性,并确保批处理包含源中的事务的所有更改。如果
BatchApplyPreserveTransaction
设置为false
,则会临时放弃事务完整性以提高性能。BatchApplyPreserveTransaction
参数仅适用于 Oracle 目标终端节点,并且仅在BatchApplyEnabled
参数设置为true
时相关。如果复制中包含 LOB 列,则只能在受限 LOB 模式下使用
BatchApplyEnabled
。有关将这些设置用于更改数据捕获(CDC)负载的更多信息,请参阅更改处理优化设置。
-
-
MaxFullLoadSubTasks
– 指示要并行加载的表的最大数目。默认值为 8;最大值为 49。 -
ParallelLoadThreads
— 指定用于将每个表加载到目标数据库的线程数。 AWS DMS 对于非 RDBMS 目标,此参数具有最大值。DynamoDB 目标的最大值为 200。亚马逊 Kinesis Data Streams、Apache Kafka 或 OpenSearch 亚马逊服务目标的最大值为 32。您可以要求增加该最大值。ParallelLoadThreads
适用于完全加载任务。有关单个表的并行加载设置的信息,请参阅 表和集合设置规则和操作。该设置适用于以下端点引擎类型:
DynamoDB
Amazon Kinesis Data Streams
Amazon MSK
亚马逊 OpenSearch 服务
Amazon Redshift
AWS DMS 支持 My
ParallelLoadThreads
SQL 作为额外的连接属性。ParallelLoadThreads
不适用于作为任务设置的 MySQL。 -
ParallelLoadBufferSize
指定在缓冲区(并行加载线程将数据加载到目标时使用)中存储的最大记录数。默认值是 50。最大值为 1000。目前,此设置仅在 DynamoDB、Kinesis、Apache Kafka 或是目标时才有效。 OpenSearch 将此参数与ParallelLoadThreads
一起使用。仅在有多个线程时ParallelLoadBufferSize
才有效。有关单个表的并行加载设置的信息,请参阅 表和集合设置规则和操作。 -
ParallelLoadQueuesPerThread
– 指定每个并发线程访问的队列数,以便从队列中取出数据记录并为目标生成批处理负载。默认值是 1。目前,只有在 Kinesis 或 Apache Kafka 为目标时,此设置才有效。 -
ParallelApplyThreads
— 指定 CDC 加载期间 AWS DMS 用于将数据记录推送到亚马逊 DocumentDB、Kinesis、Amazon MSK OpenSearch 或 Amazon Redshift 目标终端节点的并发线程数。默认值为零(0)。该设置仅适用于 CDC。该设置不适用于完全加载。
该设置适用于以下端点引擎类型:
Amazon DocumentDB(与 MongoDB 兼容)
Amazon Kinesis Data Streams
Amazon Managed Streaming for Apache Kafka
亚马逊 OpenSearch 服务
Amazon Redshift
-
ParallelApplyBufferSize
— 指定在每个缓冲队列中存储的最大记录数,以便并发线程在 CDC 加载期间推送到亚马逊 DocumentDB、Kinesis、Amazon MSK OpenSearch 或 Amazon Redshift 目标终端节点。默认值是 100。最大值为 1000。当ParallelApplyThreads
指定多个线程时,请使用此选项。 -
ParallelApplyQueuesPerThread
— 指定每个线程访问的队列数量,以便从队列中提取数据记录,并在 CDC 期间为 Amazon DocumentDB、Kinesis、Amazon MSK 或终端节点生成批量加载。 OpenSearch默认值是 1。