为 Amazon 数据库迁移服务任务指定任务设置 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Amazon 数据库迁移服务任务指定任务设置

每个任务都具有可根据数据库迁移需求配置的设置。您在 JSON 文件中创建这些设置,对于某些设置,可以使用 Amazon DMS 控制台指定它们。有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例

有几种主要类型的任务设置,如下所列。

Task settings (任务设置) 相关文档

创建任务评估报告

您可以创建一个任务评估报告,以显示在迁移期间可能出现问题的任何不支持的数据类型。在运行任务之前,您可以针对任务运行该报告以找出潜在的问题。

为任务启用和使用迁移前评估

创建任务

在创建任务时,您可以指定源、目标和复制实例以及任何迁移设置。

创建任务

创建持续复制任务

您可以设置任务,以便在源和目标之间提供持续复制。

使用 Amazon DMS 为持续复制创建任务

应用任务设置

每个任务都具有可根据数据库迁移需求配置的设置。您在 JSON 文件中创建这些设置,对于某些设置,可以使用 Amazon DMS 控制台指定它们。

为 Amazon 数据库迁移服务任务指定任务设置

数据验证

数据验证用于让 Amazon DMS 比较目标数据存储与源数据存储中的数据。

Amazon DMS 数据验证

修改任务

停止任务后,您可以修改任务的设置。

修改任务

在任务期间重新加载表

如果任务期间出错,您可以重新加载表。

在任务期间重新加载表

使用表映射

表映射使用多个类型的规则来指定任务设置,例如数据源、源架构、数据以及任务期间将发生的任何转换。

选择规则

选择规则和操作

转换规则

转换规则和操作

应用筛选器

您可以使用源筛选器来限制从源传输到目标的记录的数量和类型。例如,您可以指定仅将总部员工移动到目标数据库。还可以对数据列应用筛选器。

使用源筛选器

监控任务

可通过多种方式获取有关任务性能以及任务使用的表的信息。

监控 Amazon DMS 任务

管理任务日志

您可以使用 Amazon DMS API 或 Amazon CLI 查看和删除任务日志。

查看和管理 Amazon DMS 任务日志

任务设置示例

可以使用 Amazon Web Services Management Console 或 Amazon CLI 创建复制任务。如果您使用Amazon CLI,则可以通过创建 JSON 文件,然后将 JSON 文件的 file://URI 指定为CreateReplicationTask操作 ReplicationTaskSettings参数来设置任务设置。

以下示例说明如何使用 Amazon CLI 调用 CreateReplicationTask 操作:

aws dms create-replication-task \ --replication-task-identifier MyTask \ --source-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --target-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --replication-instance-arn arn:aws:dms:us-west-2:123456789012:rep:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \ --migration-type cdc \ --table-mappings file://tablemappings.json \ --replication-task-settings file://settings.json

前面的示例使用名为 tablemappings.json 的表映射文件。有关表映射的示例,请参阅使用表映射指定任务设置

任务设置 JSON 文件可能如下所示:

{ "TargetMetadata": { "TargetSchema": "", "SupportLobs": true, "FullLobMode": false, "LobChunkSize": 64, "LimitedSizeLobMode": true, "LobMaxSize": 32, "InlineLobMaxSize": 0, "LoadMaxFileSize": 0, "ParallelLoadThreads": 0, "ParallelLoadBufferSize":0, "ParallelLoadQueuesPerThread": 1, "ParallelApplyThreads": 0, "ParallelApplyBufferSize": 100, "ParallelApplyQueuesPerThread": 1, "BatchApplyEnabled": false, "TaskRecoveryTableEnabled": false }, "FullLoadSettings": { "TargetTablePrepMode": "DO_NOTHING", "CreatePkAfterFullLoad": false, "StopTaskCachedChangesApplied": false, "StopTaskCachedChangesNotApplied": false, "MaxFullLoadSubTasks": 8, "TransactionConsistencyTimeout": 600, "CommitRate": 10000 }, "TTSettings" : { "EnableTT" : true, "TTS3Settings": { "EncryptionMode": "SSE_KMS", "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey", "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role", "BucketName": "myttbucket", "BucketFolder": "myttfolder", "EnableDeletingFromS3OnTaskDelete": false }, "TTRecordSettings": { "EnableRawData" : true, "OperationsToLog": "DELETE,UPDATE", "MaxRecordSize": 64 } }, "Logging": { "EnableLogging": false }, "ControlTablesSettings": { "ControlSchema":"", "HistoryTimeslotInMinutes":5, "HistoryTableEnabled": false, "SuspendedTablesTableEnabled": false, "StatusTableEnabled": false }, "StreamBufferSettings": { "StreamBufferCount": 3, "StreamBufferSizeInMB": 8 }, "ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }, "ChangeProcessingDdlHandlingPolicy": { "HandleSourceTableDropped": true, "HandleSourceTableTruncated": true, "HandleSourceTableAltered": true }, "LoopbackPreventionSettings": { "EnableLoopbackPrevention": true, "SourceSchema": "LOOP-DATA", "TargetSchema": "loop-data" }, "CharacterSetSettings": { "CharacterReplacements": [ { "SourceCharacterCodePoint": 35, "TargetCharacterCodePoint": 52 }, { "SourceCharacterCodePoint": 37, "TargetCharacterCodePoint": 103 } ], "CharacterSetSupport": { "CharacterSet": "UTF16_PlatformEndian", "ReplaceWithCharacterCodePoint": 0 } }, "BeforeImageSettings": { "EnableBeforeImage": false, "FieldName": "", "ColumnFilter": "pk-only" }, "ErrorBehavior": { "DataErrorPolicy": "LOG_ERROR", "DataTruncationErrorPolicy":"LOG_ERROR", "DataErrorEscalationPolicy":"SUSPEND_TABLE", "DataErrorEscalationCount": 50, "TableErrorPolicy":"SUSPEND_TABLE", "TableErrorEscalationPolicy":"STOP_TASK", "TableErrorEscalationCount": 50, "RecoverableErrorCount": 0, "RecoverableErrorInterval": 5, "RecoverableErrorThrottling": true, "RecoverableErrorThrottlingMax": 1800, "ApplyErrorDeletePolicy":"IGNORE_RECORD", "ApplyErrorInsertPolicy":"LOG_ERROR", "ApplyErrorUpdatePolicy":"LOG_ERROR", "ApplyErrorEscalationPolicy":"LOG_ERROR", "ApplyErrorEscalationCount": 0, "FullLoadIgnoreConflicts": true }, "ValidationSettings": { "EnableValidation": false, "ValidationMode": "ROW_LEVEL", "ThreadCount": 5, "PartitionSize": 10000, "FailureMaxCount": 1000, "RecordFailureDelayInMinutes": 5, "RecordSuspendDelayInMinutes": 30, "MaxKeyColumnSize": 8096, "TableFailureMaxCount": 10000, "ValidationOnly": false, "HandleCollationDiff": false, "RecordFailureDelayLimitInMinutes": 1, "SkipLobColumns": false, "ValidationPartialLobSize": 0, "ValidationQueryCdcDelaySeconds": 0 } }