Especificar as configurações de tarefas para tarefas do AWS Database Migration Service
Cada tarefa tem configurações que podem ser definidas de acordo com as necessidades da migração do banco de dados. Crie essas configurações em um arquivo JSON ou, no caso de algumas configurações, especifique-as usando o console do AWS DMS. Para obter informações sobre como utilizar um arquivo de configuração de tarefas para definir as configurações de tarefas, consulte Exemplo de configurações de tarefas.
Há vários tipos principais de configurações de tarefa, conforme listado a seguir.
| Configurações de tarefa | Documentação relevante |
|---|---|
|
Criar um relatório de avaliação de tarefa É possível criar um relatório de avaliação de tarefa que mostre os tipos de dados incompatíveis, que podem causar problemas durante a migração. É possível executar esse relatório na tarefa antes de executá-la, para descobrir possíveis problemas. |
Ativar e trabalhar com avaliações de pré-migração de uma tarefa |
|
Criar uma tarefa Quando você cria uma tarefa, especifica a origem, o destino e a instância de replicação, juntamente com todas as configurações de migração. |
|
|
Criar uma tarefa de replicação contínua Você pode configurar uma tarefa para fornecer replicação contínua entre a origem e o destino. |
|
|
Aplicar as configurações de tarefas Cada tarefa tem configurações que podem ser definidas de acordo com as necessidades da migração do banco de dados. Crie essas configurações em um arquivo JSON ou, no caso de algumas configurações, especifique-as usando o console do AWS DMS. |
Especificar as configurações de tarefas para tarefas do AWS Database Migration Service |
|
Validação de dados Utilize a validação de dados para que o AWS DMS compare os dados no armazenamento de dados de destino com os dados do armazenamento de dados de origem. |
|
|
Modificar uma tarefa Quando uma tarefa é interrompida, é possível modificar as configurações dela. |
|
|
Recarregar tabelas durante uma tarefa Você poderá recarregar uma tabela durante uma tarefa se ocorrer um erro durante sua execução. |
|
|
Utilizar mapeamento de tabela O mapeamento de tabela utiliza vários tipos de regras para especificar as configurações da fonte de dados, do esquema de origem, dos dados e de quaisquer transformações que devem ocorrer durante a tarefa. |
Regras de seleção Regras de seleção e açõesRegras de transformação Regras de transformação e ações |
|
Aplicar filtros É possível usar filtros de origem para limitar o número e o tipo de registros transferidos da origem ao destino. Por exemplo, você pode especificar que somente os funcionários localizados na sede serão movidos para o banco de dados de destino. Os filtros são aplicados a uma coluna de dados. |
|
| Monitorar uma tarefa Há várias maneiras de obter informações sobre o desempenho de uma tarefa e das tabelas usadas por ela. |
|
| Gerenciar logs de tarefas Você pode visualizar e excluir logs de tarefas usando a API do AWS DMS ou a AWS CLI. |
Exemplo de configurações de tarefas
É possível utilizar o Console de gerenciamento da AWS ou a AWS CLI para criar uma tarefa de replicação. Se você utilizar o AWS CLI, defina as configurações da tarefa criando um arquivo JSON e especificando o URI file:// do arquivo JSON como o parâmetro ReplicationTaskSettings da operação CreateReplicationTask.
O exemplo a seguir mostra como utilizar a AWS CLI para chamar a operação 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
O exemplo anterior utiliza um arquivo de mapeamento de tabela chamadotablemappings.json. Para ver exemplos de mapeamento de tabela, consulte Utilizar o mapeamento de tabela para especificar as configurações da tarefa.
Um arquivo JSON de configurações de tarefas pode ter a seguinte aparência:
{ "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 } }