

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

# 为 Amazon Database Migration Service 任务指定任务设置
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings"></a>

每个任务都具有可根据数据库迁移需求配置的设置。您可以在 JSON 文件中创建这些设置，或者通过某些设置，您可以使用 Amazon DMS 控制台指定设置。有关如何使用任务配置文件来设置任务设置的信息，请参阅[任务设置示例](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)。

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

**Topics**
+ [任务设置示例](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)
+ [目标元数据任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md)
+ [完全加载任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)
+ [Time Travel 任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.md)
+ [日志记录任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md)
+ [控制表任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.md)
+ [流缓冲区任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer.md)
+ [更改处理优化设置](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)
+ [数据验证任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)
+ [数据重新同步设置](CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings.md)
+ [更改处理 DDL 处理的任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling.md)
+ [字符替换任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.md)
+ [之前映像任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage.md)
+ [错误处理任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling.md)
+ [保存任务设置](CHAP_Tasks.CustomizingTasks.TaskSettings.Saving.md)


| Task settings（任务设置） | 相关文档 | 
| --- | --- | 
|   **创建任务评估报告**  您可以创建一个任务评估报告，以显示在迁移期间可能出现问题的任何不支持的数据类型。在运行任务之前，您可以针对任务运行该报告以找出潜在的问题。  |  [为任务启用和使用迁移前评估](CHAP_Tasks.AssessmentReport.md)  | 
|   **创建任务**  在创建任务时，您可以指定源、目标和复制实例以及任何迁移设置。  |  [创建任务](CHAP_Tasks.Creating.md)  | 
|   **创建持续复制任务**  您可以设置任务，以便在源和目标之间提供持续复制。  |  [使用为正在进行的复制创建任务 Amazon DMS](CHAP_Task.CDC.md)  | 
|   **应用任务设置**  每个任务都具有可根据数据库迁移需求配置的设置。您可以在 JSON 文件中创建这些设置，或者通过某些设置，您可以使用 Amazon DMS 控制台指定设置。  |  [为 Amazon Database Migration Service 任务指定任务设置](#CHAP_Tasks.CustomizingTasks.TaskSettings)  | 
|   **数据验证**  使用数据验证将目标数据存储中的数据与源数据存储中的数据 Amazon DMS 进行比较。  |  [Amazon DMS 数据验证](CHAP_Validating.md)  | 
|   **修改任务**  停止任务后，您可以修改任务的设置。  |  [修改任务](CHAP_Tasks.Modifying.md)  | 
|   **在任务期间重新加载表**  如果任务期间出错，您可以重新加载表。  |  [在任务期间重新加载表](CHAP_Tasks.ReloadTables.md)  | 
|   **使用表映射**  表映射使用多个类型的规则来指定任务设置，例如数据源、源架构、数据以及任务期间将发生的任何转换。  |  选择规则 [选择规则和操作](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md) 转换规则 [转换规则和操作](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)  | 
|   **应用筛选器**  您可以使用源筛选器来限制从源传输到目标的记录的数量和类型。例如，您可以指定仅将总部员工移动到目标数据库。还可以对数据列应用筛选器。  |  [使用源筛选器](CHAP_Tasks.CustomizingTasks.Filters.md)  | 
| 监控任务 可通过多种方式获取有关任务性能以及任务使用的表的信息。  |  [监控 Amazon DMS 任务](CHAP_Monitoring.md)  | 
| 管理任务日志 您可以使用 Amazon DMS API 或查看和删除任务日志 Amazon CLI。  |  [查看和管理 Amazon DMS 任务日志](CHAP_Monitoring.md#CHAP_Monitoring.ManagingLogs)  | 

## 任务设置示例
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Example"></a>

您可以使用 Amazon Web Services 管理控制台 或 Amazon CLI 来创建复制任务。如果您使用 Amazon CLI，则可以通过创建 JSON 文件，然后将 JSON 文件的 file://URI 指定为[CreateReplicationTask](https://docs.amazonaws.cn/dms/latest/APIReference/API_CreateReplicationTask.html)操作[ ReplicationTaskSettings](https://docs.amazonaws.cn/dms/latest/APIReference/API_CreateReplicationTask.html#DMS-CreateReplicationTask-request-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` 的表映射文件。有关表映射的示例，请参阅[使用表映射指定任务设置](CHAP_Tasks.CustomizingTasks.TableMapping.md)。

任务设置 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",
    "DataMaskingErrorPolicy": "STOP_TASK",
    "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
  }
}
```