指定 AWS Database Migration Service 工作的工作設定 - AWS 資料庫遷移服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

指定 AWS Database Migration Service 工作的工作設定

每個任務都具備您可以根據資料庫遷移需求設定的設定。您可以在JSON檔案中建立這些設定,或者透過某些設定,您可以使用 AWS DMS 主控台指定設定。如需取得如何使用任務組態檔案來進行任務設定的相關資訊,請參閱任務設定範例

任務設定有數種主要類型,如下列所示。

任務設定 相關文件

建立任務評估報告

您可以建立任務評估報告,顯示任何可能在遷移期間造成問題的未支援資料類型。您可以在執行任務之前在任務上執行此報告,來找出潛在問題。

啟用和使用任務的預遷移評估

建立任務

您在建立任務時,可以指定來源、目標和複寫執行個體,以及任何遷移設定。

建立任務

建立進行中複寫任務

您可以設定任務來在來源和目標間提供持續複寫。

使用 AWS DMS 建立持續複寫的任務

套用任務設定

每個任務都具備您可以根據資料庫遷移需求設定的設定。您可以在JSON檔案中建立這些設定,或者透過某些設定,您可以使用 AWS DMS 主控台指定設定。

指定 AWS Database Migration Service 工作的工作設定

資料驗證

使用資料驗證 AWS DMS 將目標資料倉庫中的資料與來源資料倉庫中的資料進行比較。

AWS DMS 資料驗證

修改任務

在任務停止時,您便可以修改任務的設定。

修改任務

在任務期間重新載入資料表

若在任務期間發生錯誤,您便可以在任務期間重新載入資料表。

在任務期間重新載入資料表

使用資料表映射

資料表映射使用數種類型的規則來指定資料來源、來源結構描述、資料及任何應在任務期間進行的轉換任務設定。

選取規則

選取規則與動作

轉換規則

轉換規則與動作

套用篩選條件

您可以使用來源篩選條件來限制從來源傳輸到目標的記錄數量和類型。例如,您可以指定只將位置是總部的員工移動到目標資料庫。您可以在資料的資料行上套用篩選條件。

使用來源篩選條件

監控任務

您可以透過數種方法取得任務效能及任務所使用資料表的資訊。

監控 AWS DMS任務

管理任務日誌

您可以使用 AWS DMS API或來檢視和刪除工作記錄 AWS CLI。

檢視和管理 AWS DMS 任務日誌

任務設定範例

您可以使用 AWS Management Console 或 AWS CLI 來建立複製任務。如果使用 AWS CLI,您可以透過建立JSON檔案來設定工作設定,然後將檔案URI的 JSON file://指定為CreateReplicationTask作業的 ReplicationTaskSettings參數。

下列範例說明如何使用 AWS 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 } }