

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Especificación de la configuración de tareas para las tareas del AWS Database Migration Service
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings"></a>

Cada tarea tiene valores que pueden configurar en función de las necesidades de la migración de la base de datos. Puede crear estos ajustes en un archivo JSON o, con algunos ajustes, puede especificarlos mediante la AWS DMS consola. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

Existen diversos tipos principales de configuración de tareas, como se indica a continuación:

**Topics**
+ [

## Ejemplo de configuración de tarea
](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)
+ [

# Configuración de las tareas de los metadatos de destino
](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md)
+ [

# Configuración de tareas de carga completa
](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)
+ [

# Configuración de tarea de Viaje en el tiempo
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.md)
+ [

# Configuración de las tareas de los registros
](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md)
+ [

# Configuración de las tareas de la tabla de control
](CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.md)
+ [

# Configuración de tareas del búfer de secuencia
](CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer.md)
+ [

# Configuración de ajuste del procesamiento de cambios
](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)
+ [

# Configuración de tareas de validación de datos
](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)
+ [

# Configuración de la resincronización de datos
](CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings.md)
+ [

# Configuración de tareas para la administración de DDL del procesamiento de cambios
](CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling.md)
+ [

# Configuración de la tarea de sustitución de caracteres
](CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.md)
+ [

# Configuración de tareas de imagen anterior
](CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage.md)
+ [

# Configuración de las tareas de administración de errores
](CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling.md)
+ [

# Guardar la configuración de las tareas
](CHAP_Tasks.CustomizingTasks.TaskSettings.Saving.md)


| Task settings (Configuración de tarea) | Documentación relacionada | 
| --- | --- | 
|   **Creación de un informe de evaluación de tarea**  Puede crear un informe de evaluación de tarea que muestra cualquier tipo de dato no admitido que podría provocar problemas durante la migración. Puede ejecutar este informe en la tarea antes de ejecutar la tarea para encontrar posibles problemas.  |  [Habilitación de las evaluaciones previas a la migración para una tarea y trabajar con ellas](CHAP_Tasks.AssessmentReport.md)  | 
|   **Creación de una tarea**  Al crear una tarea, especifique el origen, el destino y la instancia de replicación, junto con cualquier configuración de migración.  |  [Creación de una tarea](CHAP_Tasks.Creating.md)  | 
|   **Creación de una tarea de replicación continua**  Puede configurar una tarea para proporcionar replicación continua entre el origen y el destino.   |  [Creación de tareas para la replicación continua mediante AWS DMS](CHAP_Task.CDC.md)  | 
|   **Aplicación de la configuración de las tareas**  Cada tarea tiene valores que pueden configurar en función de las necesidades de la migración de la base de datos. Puede crear estos ajustes en un archivo JSON o, con algunos ajustes, puede especificarlos mediante la AWS DMS consola.  |  [Especificación de la configuración de tareas para las tareas del AWS Database Migration Service](#CHAP_Tasks.CustomizingTasks.TaskSettings)  | 
|   **Validación de datos**  Utilice la validación de datos para AWS DMS comparar los datos del banco de datos de destino con los datos del banco de datos de origen.  |  [AWS Validación de datos DMS](CHAP_Validating.md)  | 
|   **Modificación de una tarea**  Cuando se detiene una tarea, puede modificar sus valores de configuración.  |  [Modificación de una tarea](CHAP_Tasks.Modifying.md)  | 
|   **Recarga de tablas durante una tarea**  Puede volver a cargar una tabla mientras se realiza una tarea si se produce un error durante esta tarea.  |  [Recarga de tablas durante una tarea](CHAP_Tasks.ReloadTables.md)  | 
|   **Uso de la asignación de tablas**  La correspondencia de tablas utiliza diversos tipos de reglas para especificar la configuración de tareas del origen de datos, el esquema origen, los datos y las transformaciones que deben producirse durante la tarea.  |  Reglas de selección [Reglas y acciones de selección](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md) Reglas de transformación [Reglas y acciones de transformación](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)  | 
|   **Aplicación de filtros**  Puede utilizar filtros de origen para limitar el número y el tipo de los registros transferidos desde el origen al destino. Por ejemplo, puede especificar que solo los trabajadores con una ubicación de sede central se trasladen a la base de datos de destino. Puede aplicar filtros en una columna de datos.  |  [Uso de filtros de origen](CHAP_Tasks.CustomizingTasks.Filters.md)  | 
| Monitoreo de una tarea Hay varias formas de obtener información sobre el desempeño de una tarea y las tablas que utiliza esta tarea.  |  [Supervisión de las AWS tareas de DMS](CHAP_Monitoring.md)  | 
| Administración de registros de tareas Puede ver y eliminar los registros de tareas mediante la AWS DMS API o AWS CLI.   |  [Visualización y administración de los AWS registros de tareas del DMS](CHAP_Monitoring.md#CHAP_Monitoring.ManagingLogs)  | 

## Ejemplo de configuración de tarea
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Example"></a>

Puede utilizar la Consola de administración de AWS o la AWS CLI para crear una tarea de replicación. Si lo usa AWS CLI, establece la configuración de la tarea creando un archivo JSON y, a continuación, especificando el URI file://del archivo JSON como [ ReplicationTaskSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html#DMS-CreateReplicationTask-request-ReplicationTaskSettings)parámetro de la [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html)operación.

En el siguiente ejemplo, se muestra cómo utilizar el AWS CLI para llamar a la `CreateReplicationTask` operación:

```
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
```

El ejemplo anterior utiliza un archivo de asignación de tablas llamado `tablemappings.json`. Para obtener ejemplos de asignación de tablas, consulte [Uso del mapeo de tablas para especificar la configuración de tareas](CHAP_Tasks.CustomizingTasks.TableMapping.md).

Un archivo JSON de configuración de tareas puede tener el siguiente aspecto. 

```
{
  "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
  }
}
```

# Configuración de las tareas de los metadatos de destino
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata"></a>

Estos son algunos de los valores de configuración de los metadatos. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ `TargetSchema`: el nombre del esquema de la tabla de destino. Si esta opción de metadatos está en blanco, se utiliza el esquema de la tabla de origen. Si no hay un esquema de origen definido, AWS DMS agrega automáticamente el prefijo del propietario de la base de datos de destino a todas las tablas. Esta opción debe estar en blanco para los puntos de enlace de destino de tipo MySQL. El cambio de nombre de un esquema en la asignación de datos tiene prioridad sobre esta configuración.
+ Configuración de LOB: configuración que determina cómo se administran los objetos grandes (LOBs). Si establece `SupportLobs=true`, debe establecer una de las siguientes opciones en `true`: 
  + `FullLobMode`: si establece esta opción en `true`, debe indicar un valor para la opción `LobChunkSize`. Indique el tamaño, en kilobytes, de los fragmentos del LOB que se van a utilizar cuando se repliquen los datos en el destino. La opción `FullLobMode` es más adecuada para los LOB de gran tamaño, pero suele ralentizar la carga. El valor recomendado para `LobChunkSize` es 64 kilobytes. Si se aumenta el valor para `LobChunkSize` a más de 64 kilobytes, se pueden producir errores en las tareas.
  + `InlineLobMaxSize`— Este valor determina qué LOBs AWS DMS transferencias se transfieren en línea durante una carga completa. Transferir pequeñas LOBs cantidades es más eficiente que buscarlas en una tabla fuente. Durante una carga completa, AWS DMS comprueba todas LOBs y realiza una transferencia en línea para las LOBs que son más pequeñas que`InlineLobMaxSize`. AWS DMS todas las transferencias son LOBs más grandes que las de entrada`InlineLobMaxSize`. `FullLobMode` El valor predeterminado para `InlineLobMaxSize` es 0 y el rango es 1: 102 400 kilobytes (100 MB). Establezca un valor `InlineLobMaxSize` solo si sabe que la mayoría de ellos LOBs son más pequeños que el valor especificado en`InlineLobMaxSize`.
  + `LimitedSizeLobMode`: si establece esta opción en `true`, debe indicar un valor para la opción `LobMaxSize`. Indique el tamaño máximo, en kilobytes, para un LOB específico. El valor máximo para `LobMaxSize` es 102 400 kilobytes (100 MB).

  Para obtener más información sobre los criterios para utilizar esta configuración de LOB de tarea, consulte [Configurar la compatibilidad con LOB para las bases de datos de origen de una tarea AWS DMS](CHAP_Tasks.LOBSupport.md). También puede controlar la administración LOBs de tablas individuales. Para obtener más información, consulte [Reglas y operaciones de configuración de tablas y recopilaciones](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).
+ `BatchApplyEnabled`: determina si cada transacción se aplica individualmente o si los cambios se confirman en lotes. El valor predeterminado es `false`.

  Cuando `BatchApplyEnabled` está configurado en `true`, DMS requiere una clave principal (PK) o una clave única (UK) en las tablas de **origen**. Si las tablas de origen no incluyen PK ni UK, solo se aplican las inserciones por lotes, pero no las actualizaciones ni eliminaciones por lotes.

  Cuando `BatchApplyEnabled` se establece en `true`, AWS DMS genera un mensaje de error si una tabla de **destino** tiene una restricción única y una clave principal. Las tablas de destino con una restricción única y una clave principal no se admiten cuando `BatchApplyEnabled` está configurado en `true`.

  Cuando `BatchApplyEnabled` se establece en true y AWS DMS detecta un error en los datos de una tabla con la política de gestión de errores predeterminada, la AWS DMS tarea pasa del modo por lotes al one-by-one modo correspondiente al resto de las tablas. Para modificar este comportamiento, puede configurar la acción `"SUSPEND_TABLE"` en las siguientes políticas en la propiedad del grupo `"ErrorBehavior"` del archivo JSON de configuración de tareas:
  + `DataErrorPolicy`
  + `ApplyErrorDeletePolicy`
  + `ApplyErrorInsertPolicy`
  + `ApplyErrorUpdatePolicy`

  Para obtener más información sobre esta propiedad del grupo `"ErrorBehavior"`, consulte el ejemplo del archivo JSON de configuración de tareas en [Especificación de la configuración de tareas para las tareas del AWS Database Migration Service](CHAP_Tasks.CustomizingTasks.TaskSettings.md). Tras establecer estas políticas en`"SUSPEND_TABLE"`, la AWS DMS tarea suspende los errores de datos en las tablas que los generen y continúa en modo por lotes para todas las tablas.

  Puede usar el parámetro `BatchApplyEnabled` con el parámetro `BatchApplyPreserveTransaction`. Si `BatchApplyEnabled` está establecido en `true`, el parámetro `BatchApplyPreserveTransaction` determina la integridad de las transacciones. 

  Si `BatchApplyPreserveTransaction` está establecido en `true`, se mantiene la integridad de las transacciones y se garantiza que un lote contendrá todos los cambios en una transacción desde el origen.

  Si `BatchApplyPreserveTransaction` está establecido en `false`, pueden producirse interrupciones temporales en la integridad de las transacciones para mejorar el desempeño. 

  El parámetro `BatchApplyPreserveTransaction` se aplica únicamente a los puntos de enlace de destino de Oracle y solo es pertinente cuando el parámetro `BatchApplyEnabled` está establecido en `true`.

  Cuando se incluyen columnas de LOB en la replicación, `BatchApplyEnabled` solo se puede utilizar en modo de LOB limitado.

  Para obtener más información sobre el uso de esta configuración para una carga de captura de datos de cambios (CDC), consulte [Configuración de ajuste del procesamiento de cambios](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md).
+ `MaxFullLoadSubTasks`: indica el número máximo de tablas que se pueden cargar en paralelo. El valor predeterminado es 8, el valor máximo es 49.
+ `ParallelLoadThreads`— Especifica el número de subprocesos que se AWS DMS utilizan para cargar cada tabla en la base de datos de destino. Este parámetro tiene valores máximos para los destinos que no son de RDBMS. El valor máximo para un destino de DynamoDB es 200. El valor máximo para un objetivo de Amazon Kinesis Data Streams, Apache Kafka o OpenSearch Amazon Service es 32. Puede solicitar que se aumente este límite máximo. `ParallelLoadThreads` se aplica a las tareas de carga completa. Para obtener información acerca de la configuración de la carga paralela de las tablas individuales, consulte [Reglas y operaciones de configuración de tablas y recopilaciones](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).

  Este ajuste se aplica a los siguientes tipos de motor de punto de conexión:
  + DynamoDB
  + Amazon Kinesis Data Streams
  + Amazon MSK
  +  OpenSearch Servicio Amazon
  + Amazon Redshift

  AWS DMS admite `ParallelLoadThreads` MySQL como atributo de conexión adicional. `ParallelLoadThreads`no se aplica a MySQL como configuración de tareas. 
+ `ParallelLoadBufferSize` especifica el número máximo de registros para almacenar en el búfer que los subprocesos de carga en paralelo utilizan para cargar datos en el destino. El valor predeterminado es 50. El valor máximo es 1000. Actualmente, esta configuración solo es válida cuando DynamoDB, Kinesis, Apache Kafka OpenSearch o son el objetivo. Utilice este parámetro con `ParallelLoadThreads`. `ParallelLoadBufferSize` solo es válido cuando hay más de un subproceso. Para obtener información acerca de la configuración de la carga paralela de las tablas individuales, consulte [Reglas y operaciones de configuración de tablas y recopilaciones](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).
+ `ParallelLoadQueuesPerThread`: especifica el número de colas que acceden a cada subproceso simultáneo para eliminar los registros de datos de las colas y generar una carga por lotes para el destino. El valor predeterminado de es 1. Actualmente, esta configuración solo es válida cuando el destino es Kinesis o Apache Kafka.
+ `ParallelApplyThreads`— Especifica el número de subprocesos simultáneos que se AWS DMS utilizan durante una carga de CDC para enviar registros de datos a un punto final de destino de Amazon DocumentDB, Kinesis, Amazon MSK OpenSearch o Amazon Redshift. El valor predeterminado es cero (0).

  Este ajuste solo se aplica a CDC. Este ajuste no se aplica a carga completa.

  

  Este ajuste se aplica a los siguientes tipos de motor de punto de conexión:
  + Amazon DocumentDB (compatible con MongoDB)
  + Amazon Kinesis Data Streams
  + Transmisión administrada de Amazon para Apache Kafka
  +  OpenSearch Servicio Amazon
  + Amazon Redshift
+ `ParallelApplyBufferSize`— Especifica el número máximo de registros que se deben almacenar en cada cola de búfer para que los subprocesos simultáneos se envíen a un punto final de destino de Amazon DocumentDB, Kinesis, OpenSearch Amazon MSK o Amazon Redshift durante una carga de CDC. El valor predeterminado es 100. El valor máximo es 1000. Utilice esta opción cuando `ParallelApplyThreads` especifique más de un subproceso. 
+ `ParallelApplyQueuesPerThread`— Especifica el número de colas a las que accede cada subproceso para extraer los registros de datos de las colas y generar una carga por lotes para Amazon DocumentDB, Kinesis, Amazon MSK o un punto final durante la CDC. OpenSearch El valor predeterminado es 1.

# Configuración de tareas de carga completa
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad"></a>

La configuración de carga completa incluye lo siguiente. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ Para indicar cómo se gestiona la carga del destino con arranque en carga completa, especifique uno de los siguientes valores para la opción `TargetTablePrepMode`: 
  +  `DO_NOTHING`: los datos y los metadatos de la tabla de destino existente no se verán afectados. 
  +  `DROP_AND_CREATE`: la tabla existente se ha descartado y se creó una tabla nueva para sustituirla. 
  +  `TRUNCATE_BEFORE_LOAD`: los datos se truncan sin que los metadatos de la tabla se vean afectados.
+ Para retrasar la creación de la clave principal o el índice único hasta que finalice una carga completa, establezca la opción `CreatePkAfterFullLoad` en `true`.
+ Para las tareas que acepten carga completa y CDC, puede configurar las siguientes opciones de `Stop task after full load completes`: 
  + `StopTaskCachedChangesApplied`: establezca esta opción en `true` para detener una tarea después de que finalice un proceso de carga completa y se apliquen los cambios en la memoria caché. 
  + `StopTaskCachedChangesNotApplied`: establezca esta opción en `true` para detener una tarea antes de que se apliquen cambios en la memoria caché. 
+ Para indicar el número máximo de tablas que se pueden cargar en paralelo, establezca la opción `MaxFullLoadSubTasks`. El valor predeterminado es 8, el valor máximo es 49.
+ Defina la opción `ParallelLoadThreads` para indicar cuántos subprocesos simultáneos empleará DMS durante un proceso a plena carga para enviar los registros de datos a un punto de conexión de destino. El valor predeterminado es cero (0).
**importante**  
`MaxFullLoadSubTasks` controla el número de tablas o segmentos de tabla que se van a cargar en paralelo. `ParallelLoadThreads` controla el número de subprocesos que utiliza una tarea de migración para ejecutar las cargas en paralelo. *Estos ajustes son multiplicativos*. Por lo tanto, el número total de subprocesos que se utilizan durante una tarea de carga completa es aproximadamente el resultado del valor de `ParallelLoadThreads ` multiplicado por el valor de `MaxFullLoadSubTasks` (`ParallelLoadThreads` **\$1** `MaxFullLoadSubtasks)`).  
Si crea tareas con un número elevado de subtareas de carga completa y un número elevado de subprocesos de carga en paralelo, la tarea puede consumir demasiada memoria y producir un error.
+ Puede establecer el número de segundos que se AWS DMS espera a que se cierren las transacciones antes de comenzar una operación a plena carga. Para ello, si las transacciones están abiertas cuando se inicia la tarea, establezca la opción `TransactionConsistencyTimeout`. El valor predeterminado es 600 (10 minutos). AWS DMS comienza la carga completa una vez alcanzado el tiempo de espera, incluso si hay transacciones abiertas. Una full-load-only tarea no espera 10 minutos, sino que comienza inmediatamente.
+ Para indicar el número máximo de registros que se pueden transferir a la vez, establezca la opción `CommitRate`. El valor predeterminado es 10 000 y el valor máximo es 50 000.

# Configuración de tarea de Viaje en el tiempo
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

Para registrar y depurar las tareas de replicación, puede utilizar AWS DMS Time Travel. En este enfoque, puede usar Amazon S3 para almacenar los registros y cifrarlos con las claves de cifrado. Solo con acceder al bucket de S3 de Viaje en el tiempo, puede recuperar los registros de S3 mediante filtros de fecha y hora y, a continuación, verlos, descargarlos y ocultarlos según sea necesario. De este modo, puede “viajar de vuelta en el tiempo” para investigar las actividades de la base de datos. El viaje en el tiempo funciona de forma independiente del CloudWatch registro. Para obtener más información sobre el CloudWatch registro, consulte[Configuración de las tareas de los registros](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md). 

Puede utilizar Time Travel en todas AWS las regiones con puntos de enlace AWS DMS de origen compatibles con Oracle, Microsoft SQL Server y PostgreSQL y puntos de enlace de destino AWS DMS compatibles con PostgreSQL y MySQL. Puede activar el Viaje en el tiempo solo para tareas de carga completa y de captura de datos de cambios (CDC) y solo para tareas de CDC. Para activar el Viaje en el tiempo o modificar cualquier configuración de Viaje en el tiempo existente, asegúrese de detener la tarea de replicación.

La configuración de Viaje en el tiempo incluye las propiedades de `TTSettings` siguientes:
+ `EnableTT`: si esta opción está establecida en `true`, el registro de Viaje en el tiempo está activado para la tarea. El valor predeterminado es `false`.

  Tipo: Booleano

  Obligatorio: no
+ `EncryptionMode`: el tipo de cifrado del lado del servidor que se utiliza en el bucket de S3 para almacenar los datos y registros. Puede especificar `"SSE_S3"` (predeterminado) o `"SSE_KMS"`.

  Puede cambiar `EncryptionMode` de `"SSE_KMS"` a `"SSE_S3"`, pero no al revés.

  Tipo: cadena

  Requerido: no
+ `ServerSideEncryptionKmsKeyId`— Si lo especificas, proporciona el ID de tu `"SSE_KMS"` clave `EncryptionMode` gestionada personalizada. AWS KMS Asegúrese de que la clave que utilice tenga una política adjunta que active los permisos de usuario AWS Identity and Access Management (IAM) y permita el uso de la clave. 

  La opción de `"SSE_KMS"` solo admite su propia clave KMS simétrica y administrada de forma personalizada.

  Tipo: cadena

  Obligatorio: solo si establece `EncryptionMode` en `"SSE_KMS"`
+ `ServiceAccessRoleArn`: el nombre de recurso de Amazon (ARN) utilizado por el servicio para acceder al rol de IAM. Establezca el nombre del rol en `dms-tt-s3-access-role`. Esta es una configuración obligatoria que permite AWS DMS escribir y leer objetos de un bucket de S3.

  Tipo: cadena

  Obligatorio: si el Viaje en el tiempo está activado

  A continuación, se muestra una política de ejemplo para este rol.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "kms:GenerateDataKey",
                  "kms:Decrypt",
                  "s3:ListBucket",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::S3bucketName*",
                  "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234"
              ]
          }
      ]
  }
  ```

------

  A continuación, se muestra una política de confianza de ejemplo para este rol.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

------
+ `BucketName`: el nombre del bucket de S3 para almacenar los registros de Viaje en el tiempo. Asegúrese de crear este bucket de S3 antes de activar los registros de Viaje en el tiempo.

  Tipo: cadena

  Obligatorio: si el Viaje en el tiempo está activado
+ `BucketFolder`: un parámetro opcional para definir un nombre de carpeta en el bucket de S3. Si especifica este parámetro, el DMS crea los registros de Viaje en el tiempo en la ruta `"/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"`. Si no especifica este parámetro, AWS DMS crea la ruta predeterminada como`"/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh`.

  Tipo: cadena

  Requerido: no
+ `EnableDeletingFromS3OnTaskDelete`— Si esta opción está establecida en`true`, AWS DMS elimina los registros de viajes en el tiempo de S3 si se elimina la tarea. El valor predeterminado es `false`.

  Tipo: cadena

  Requerido: no
+ `EnableRawData`: si esta opción está establecida en `true`, los datos sin procesar del lenguaje de manipulación de datos (DML) de los registros de Viaje en el tiempo aparecen en la columna `raw_data` de registros de Viaje en el tiempo. Para obtener información detallada, consulte [Uso de los registros de Viaje en el tiempo](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md). El valor predeterminado es `false`. Si esta opción está establecida en `false`, solo se captura el tipo de DML.

  Tipo: cadena

  Requerido: no
+ `RawDataFormat`— En AWS DMS las versiones 3.5.0 y superiores, cuando `EnableRawData` está configurado en. `true` Esta propiedad especifica un formato para los datos sin procesar del DML en un registro de Viaje en el tiempo y se puede presentar de la siguiente manera:
  + `"TEXT"`: nombres y valores de columnas analizados y legibles para los eventos de DML capturados durante CDC como campos `Raw`.
  + `"HEX"`: el hexadecimal original para los nombres y valores de las columnas capturados para los eventos del DML durante CDC.

  Esta propiedad se aplica a los orígenes de base de datos de Oracle y Microsoft SQL Server.

  Tipo: cadena

  Requerido: no
+ `OperationsToLog`: especifica el tipo de operaciones de DML para registrar los registros de Viaje en el tiempo. Puede especificar uno de los siguientes valores:
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  El valor predeterminado es `"ALL"`.

  Tipo: cadena

  Requerido: no
+ `MaxRecordSize`: especifica el tamaño máximo de los registros de Viaje en el tiempo que se registran para cada fila. Utilice esta propiedad para controlar el crecimiento de los registros de Viaje en el tiempo en el caso de tablas especialmente ocupadas. El valor predeterminado es 64 KB.

  Tipo: entero

  Obligatorio: no

Para obtener más información sobre cómo activar y usar los registros de Viaje en el tiempo, consulte los siguientes temas.

**Topics**
+ [

# Activación de los registros de Viaje en el tiempo para una tarea
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [

# Uso de los registros de Viaje en el tiempo
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [

# ¿Con qué frecuencia AWS DMS carga los registros de viajes en el tiempo a S3
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

# Activación de los registros de Viaje en el tiempo para una tarea
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling"></a>

Puede activar el viaje en el tiempo para una AWS DMS tarea mediante la configuración de la tarea descrita anteriormente. Asegúrese de detener la tarea de replicación antes de activar el Viaje en el tiempo.

**Para activar el viaje en el tiempo mediante la AWS CLI**

1. Cree un archivo JSON de configuración de tareas de DMS y agregue una sección de `TTSettings` como la siguiente. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

   ```
    .
    .
    .
       },
   "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
       },
    .
    .
    .
   ```

1. En una acción de tarea adecuada, especifique este archivo JSON mediante la opción `--replication-task-settings`. Por ejemplo, el siguiente fragmento de código de la CLI especifica este archivo de configuración de Viaje en el tiempo como parte de `create-replication-task`.

   ```
   aws dms create-replication-task 
   --target-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:ELS5O7YTYV452CAZR2EYBNQGILFHQIFVPWFRQAY \
   --source-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:HNX2BWIIN5ZYFF7F6UFFZVWTDFFSMTNOV2FTXZA \
   --replication-instance-arn arn:aws:dms:us-east-1:112233445566:rep:ERLHG2UA52EEJJKFYNYWRPCG6T7EPUAB5AWBUJQ \
   --migration-type full-load-and-cdc --table-mappings 'file:///FilePath/mappings.json' \
   --replication-task-settings 'file:///FilePath/task-settings-tt-enabled.json' \
   --replication-task-identifier test-task
                               .
                               .
                               .
   ```

   Aquí, el nombre de este archivo de configuración de viajes en el tiempo es `task-settings-tt-enabled.json`.

Del mismo modo, puede especificar este archivo como parte de la acción `modify-replication-task`.

Tenga en cuenta el manejo especial de los registros de Viaje en el tiempo para las siguientes acciones de tareas:
+ `start-replication-task`: al ejecutar una tarea de replicación, si no se puede acceder a un bucket de S3 utilizado para Viaje en el tiempo, la tarea se marca como `FAILED`.
+ `stop-replication-task`— Cuando la tarea se detiene, AWS DMS envía inmediatamente todos los registros de viajes en el tiempo que están disponibles actualmente para la instancia de replicación al depósito S3 utilizado para Time Travel.

Mientras se ejecuta una tarea de replicación, puede cambiar el valor `EncryptionMode` de `"SSE_KMS"` a `"SSE_S3"`, pero no al revés.

Si el tamaño de los registros de Viaje en el tiempo de una tarea en curso supera 1 GB, DMS envía los registros a S3 a los cinco minutos de alcanzar ese tamaño. Una vez ejecutada una tarea, si no se puede acceder al bucket de S3 o a la clave de KMS, DMS deja de enviar registros a este bucket. Si descubre que sus registros no se están insertando en su bucket de S3, compruebe su S3 y sus AWS KMS permisos. Para obtener más información sobre la frecuencia con la que DMS envía estos registros a S3, consulte [¿Con qué frecuencia AWS DMS carga los registros de viajes en el tiempo a S3](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md).

Para activar el Viaje en el tiempo para una tarea existente desde la consola, use la opción del editor JSON en la **configuración de la tarea** para agregar una sección de `TTSettings`.

# Uso de los registros de Viaje en el tiempo
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema"></a>

Los *archivos de registro de Viaje en el tiempo* son archivos de valores separados por comas (CSV) con los siguientes campos.

```
log_timestamp 
component 
dms_source_code_location 
transaction_id 
event_id 
event_timestamp 
lsn/scn 
primary_key
record_type 
event_type 
schema_name 
table_name 
statement 
action 
result 
raw_data
```

Una vez que los registros de Viajes en el tiempo estén disponibles en S3, podrá acceder a ellos directamente y consultarlos con herramientas como Amazon Athena. O bien, puede descargar los registros como lo haría con cualquier archivo de S3.

El siguiente ejemplo muestra un registro de Viaje en el tiempo donde se registran las transacciones de una tabla llamada `mytable`. Los finales de línea del registro siguiente se agregan para facilitar la lectura.

```
"log_timestamp ","tt_record_type","dms_source_code_location ","transaction_id",
"event_id","event_timestamp","scn_lsn","primary_key","record_type","event_type",
"schema_name","table_name","statement","action","result","raw_data"
"2021-09-23T01:03:00:778230","SOURCE_CAPTURE","postgres_endpoint_wal_engine.c:00819",
"609284109","565612992","2021-09-23 01:03:00.765321+00","00000E9C/D53AB518","","DML",
"UPDATE (3)","dmstest","mytable","","Migrate","","table dmstest.mytable:
UPDATE: id[bigint]:2244937 phone_number[character varying]:'phone-number-482'
age[integer]:82 gender[character]:'f' isactive[character]:'true ' 
date_of_travel[timestamp without time zone]:'2021-09-23 01:03:00.76593' 
description[text]:'TEST DATA TEST DATA TEST DATA TEST DATA'"
```

# ¿Con qué frecuencia AWS DMS carga los registros de viajes en el tiempo a S3
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3"></a>

Para minimizar el uso de almacenamiento de la instancia de replicación, AWS DMS descarga periódicamente los registros de viajes en el tiempo de la misma. 

Los registros de Viajes en el tiempo se envían al bucket de Amazon S3 en los siguientes casos:
+ Si el tamaño actual de los registros supera 1 GB, AWS DMS carga los registros en S3 en cinco minutos. De este modo, AWS DMS puede realizar hasta 12 llamadas por hora a S3 y AWS KMS por cada tarea en ejecución.
+ AWS DMS carga los registros en S3 cada hora, independientemente del tamaño de los registros.
+ Cuando se detiene una tarea, carga AWS DMS inmediatamente los registros de viajes en el tiempo a S3.

# Configuración de las tareas de los registros
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Logging"></a>

Logging utiliza Amazon CloudWatch para registrar la información durante el proceso de migración. Con la configuración de tareas de registro, puede especificar qué actividades de componentes se registran y qué cantidad de información se escribe en el registro. La configuración de tareas de registro se escribe en un archivo JSON. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Puede activar el CloudWatch registro de varias maneras. Puede seleccionar la `EnableLogging` opción Consola de administración de AWS al crear una tarea de migración. O bien, puedes configurar la `EnableLogging` opción como `true` al crear una tarea mediante la AWS DMS API. También puede especificar `"EnableLogging": true` en el JSON de la sección de registro en la configuración de tareas.

Cuando lo `EnableLogging` establezcas`true`, AWS DMS asigna el nombre del CloudWatch grupo y el nombre de la secuencia de la siguiente manera. No puede establecer estos valores directamente.
+ **CloudWatchLogGroup**: `dms-tasks-<REPLICATION_INSTANCE_IDENTIFIER>`
+ **CloudWatchLogStream**: `dms-task-<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>`

`<REPLICATION_INSTANCE_IDENTIFIER>` es el identificador de la instancia de replicación. `<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>` es el valor de la sección `<resourcename>` del ARN de la tarea. Para obtener información sobre cómo se AWS DMS generan los recursos ARNs, consulte[Creación de un nombre de recurso de Amazon (ARN) para AWS DMS](CHAP_Introduction.AWS.ARN.md).

CloudWatch se integra con AWS Identity and Access Management (IAM) y puede especificar qué CloudWatch acciones puede realizar un usuario de su AWS cuenta. Para obtener más información sobre cómo trabajar con IAM en CloudWatch, consulte [Gestión de identidad y acceso para Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html) y [Registro de llamadas a la CloudWatch API de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html) en la *Guía del CloudWatch usuario de Amazon*.

Para eliminar los logs de tareas, puede establecer `DeleteTaskLogs` en true en el JSON de la sección de registro de la configuración de tareas.

Puede especificar el registro para los siguientes tipos de eventos:
+ `FILE_FACTORY`: la fábrica de archivos administra los archivos utilizados para la aplicación y carga de lotes y administra los puntos de conexión de Amazon S3.
+ `METADATA_MANAGER`: el administrador de metadatos administra los metadatos de origen y destino, las particiones y el estado de la tabla durante la replicación.
+ `SORTER`: `SORTER` recibe los eventos entrantes del proceso `SOURCE_CAPTURE`. Los eventos se agrupan en transacciones y se pasan al componente de servicio `TARGET_APPLY`. Si el proceso `SOURCE_CAPTURE` produce eventos más rápido de lo que el componente `TARGET_APPLY` puede consumirlos, el componente `SORTER` almacena en caché los eventos pendientes en un disco o en un archivo de intercambio. Los eventos en caché son una causa común de que se agote el almacenamiento en las instancias de replicación.

  El componente de servicio `SORTER` administra los eventos en caché, recopila estadísticas de CDC e informa sobre la latencia de las tareas.
+ `SOURCE_CAPTURE`: los datos de replicación continua (CDC) se capturan de la base de datos o el servicio de origen y se transfieren al componente de servicio SORTER.
+ `SOURCE_UNLOAD`: los datos se descargan de la base de datos o del servicio de origen durante la carga completa.
+ `TABLES_MANAGER`: el mánager de tablas rastrea las tablas capturadas, administra el orden de migración de las tablas y recopila las estadísticas de las tablas.
+ `TARGET_APPLY`: los datos e instrucciones de lenguaje de definición de datos (DDL) se aplican a la base de datos de destino.
+ `TARGET_LOAD`: los datos se cargan en la base de datos de destino.
+ `TASK_MANAGER`: el mánager de tareas administra las tareas en ejecución y divide las tareas en subtareas para el procesamiento de datos en paralelo.
+ `TRANSFORMATION`: eventos de transformación de asignación de tablas. Para obtener más información, consulte [Uso del mapeo de tablas para especificar la configuración de tareas](CHAP_Tasks.CustomizingTasks.TableMapping.md).
+ `VALIDATOR/ VALIDATOR_EXT`: el componente de servicio `VALIDATOR` verifica que los datos se hayan migrado con precisión del origen al destino. Para obtener más información, consulte [Validación de datos](CHAP_Validating.md). 
+ `DATA_RESYNC`: componente común de la característica de resincronización de datos que administra el flujo de resincronización de datos. Para obtener más información, consulte [AWS DMS resincronización de datos](CHAP_Validating.DataResync.md).
+ `RESYNC_UNLOAD`: los datos se descargan desde la base de datos o el servicio de origen durante el proceso de resincronización.
+ `RESYNC_APPLY`: las instrucciones de lenguaje de manipulación de datos (DML) se aplican a la base de datos de destino durante la resincronización.

Los siguientes componentes de registro generan una gran cantidad de registros cuando se utiliza el nivel de gravedad de registro `LOGGER_SEVERITY_DETAILED_DEBUG`:
+ `COMMON`
+ `ADDONS`
+ `DATA_STRUCTURE`
+ `COMMUNICATION`
+ `FILE_TRANSFER`
+ `FILE_FACTORY`

Los niveles de registro distintos de `DEFAULT` suelen ser necesarios para estos componentes durante la resolución de problemas. No recomendamos cambiar el nivel de registro de `DEFAULT` estos componentes a menos que AWS Support lo solicite específicamente.

Después de especificar una de las anteriores, puede especificar la cantidad de información que se registra, como se muestra en la siguiente lista. 

Los niveles de gravedad están en orden desde el nivel más bajo hasta el más alto de información. Los niveles más elevados siempre incluyen información de los niveles inferiores. 
+ LOGGER\$1SEVERITY\$1ERROR: los mensajes de error se escriben en el registro.
+ LOGGER\$1SEVERITY\$1WARNING: las advertencias y mensajes de error se escriben en el registro.
+ LOGGER\$1SEVERITY\$1INFO: los mensajes informativos, las advertencias y los mensajes de error se escriben en el registro.
+ LOGGER\$1SEVERITY\$1DEFAULT: los mensajes informativos, las advertencias y los mensajes de error se escriben en el registro.
+ LOGGER\$1SEVERITY\$1DEBUG: los mensajes de depuración, los mensajes informativos, las advertencias y los mensajes de error se escriben en el registro.
+ LOGGER\$1SEVERITY\$1DETAILED\$1DEBUG: toda la información se escribe en el registro.

El siguiente ejemplo de JSON muestra la configuración de tareas para registrar todas las acciones y niveles de gravedad.

```
…
  "Logging": {
    "EnableLogging": true,
    "LogComponents": [
      {
        "Id": "FILE_FACTORY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "METADATA_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SORTER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_CAPTURE",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_UNLOAD",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TABLES_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_APPLY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_LOAD",
        "Severity": "LOGGER_SEVERITY_INFO"
      },{
        "Id": "TASK_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "TRANSFORMATION",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "VALIDATOR",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      }
    ],
    "CloudWatchLogGroup": null,
    "CloudWatchLogStream": null
  }, 
…
```

# Configuración de las tareas de la tabla de control
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable"></a>

Las tablas de control proporcionan información sobre una AWS DMS tarea. También proporcionan estadísticas útiles que puede utilizar para planificar y administrar la tarea de migración actual y las tareas futuras. Puede aplicar esta configuración de tareas en un archivo JSON o seleccionando **Configuración avanzada** en la página **Crear tarea** de la AWS DMS consola. La tabla Aplicar excepciones (`dmslogs.awsdms_apply_exceptions`) siempre se crea en destinos de la base de datos. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

AWS DMS solo crea tablas de control solo durante las tareas a plena carga o solo con CDC, y no durante las tareas que solo tienen carga completa. 

Para tareas de carga completa y de CDC (migración de datos existentes y replicación de cambios continuos) y exclusivas de CDC (solo replicación de cambios de datos), también puede crear tablas adicionales, incluidas las siguientes:
+ **Estado de replicación (dmslogs.awsdms\$1status)**: esta tabla ofrece información sobre la tarea actual. Esto incluye el estado de la tarea, la cantidad de memoria que consume la tarea, y el número de cambios que no se han aplicado aún en el destino. Esta tabla también indica la posición en la base de datos fuente en la que se AWS DMS está leyendo actualmente. Asimismo, indica si la tarea está en la fase de carga completa o de captura de datos de cambios (CDC).
+ **Tablas suspendidas (dmslogs.awsdms\$1suspended\$1tables)**: esta tabla proporciona una lista de tablas suspendidas, así como el motivo por el que están suspendidas.
+ **Historial de replicación (dmslogs.awsdms\$1history)**: esta tabla proporciona información sobre el historial de replicación. Esta información incluye el número y el volumen de registros procesados durante la tarea, la latencia al final de una tarea de CDC y otras estadísticas.

La tabla Apply Exceptions (Aplicar excepciones) (`dmslogs.awsdms_apply_exceptions`) contiene los siguientes parámetros.


| Columna | Tipo | Description (Descripción) | 
| --- | --- | --- | 
|  TASK\$1NAME  |  nvchar  |  El ID de recurso de la AWS DMS tarea. El ID de recurso se puede encontrar en el ARN de la tarea.  | 
|  TABLE\$1OWNER  |  nvchar  |  El propietario de la tabla.  | 
|  TABLE\$1NAME  |  nvchar  |  El nombre de la tabla.  | 
|  ERROR\$1TIME  |  timestamp  |  La hora en que se produjo la excepción (error).  | 
|  STATEMENT  |  nvchar  |  La instrucción que se estaba ejecutando cuando se produjo el error.  | 
|  ERROR  |  nvchar  |  El nombre y la descripción del error.  | 

La tabla Replication Status (Estado de replicación) (`dmslogs.awsdms_status`) contiene el estado actual de la tarea y la base de datos de destino. Tiene los siguientes valores de configuración.


| Columna | Tipo | Description (Descripción) | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  El nombre de la máquina donde se está ejecutando la tarea de replicación.  | 
|  TASK\$1NAME  |  nvchar  |  El identificador de recurso de la AWS DMS tarea. El ID de recurso se puede encontrar en el ARN de la tarea.  | 
|  TASK\$1STATUS  |  varchar  |  Uno de los valores siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) El estado de la tarea se establece en FULL LOAD siempre que haya al menos una tabla en carga completa. Después de que todas las tablas se hayan cargado, el estado de la tarea cambia a CHANGE PROCESSING si está habilitada la CDC. La tarea está configurada como NOT RUNNING antes de iniciarla o una vez finalizada.  | 
| STATUS\$1TIME |  timestamp  |  La marca de tiempo del estado de la tarea.  | 
|  PENDING\$1CHANGES  |  int  |  El número de registros de cambios que se confirmaron en la base de datos de origen y se almacenaron en caché en la memoria y el disco de la instancia de replicación.  | 
|  DISK\$1SWAP\$1SIZE  |  int  |  La cantidad de espacio en disco que utilizan las transacciones antiguas o descargadas.  | 
| TASK\$1MEMORY |  int  |  Memoria actual utilizada, en MB.  | 
|  SOURCE\$1CURRENT \$1POSITION  |  varchar  |  La posición en la base de datos de origen desde la que AWS DMS se está leyendo actualmente.  | 
|  SOURCE\$1CURRENT \$1TIMESTAMP  |  timestamp  |  La marca de tiempo de la base de datos de origen desde la que AWS DMS se está leyendo actualmente.  | 
|  SOURCE\$1TAIL \$1POSITION  |  varchar  |  La posición de la transacción de inicio más antigua que no se confirmó. Este valor es la posición más reciente a la que puede volver sin perder ningún cambio.  | 
|  SOURCE\$1TAIL \$1TIMESTAMP  |  timestamp  |  La marca de tiempo de la transacción de inicio más antigua que no se confirmó. Este valor es la marca de tiempo más reciente a la que puede volver sin perder ningún cambio.  | 
|  SOURCE\$1TIMESTAMP \$1APPLIED  |  timestamp  |  La marca de tiempo de la última confirmación de transacción. En un proceso de aplicación masiva, este valor es la marca de tiempo para la confirmación de la última transacción del lote.  | 

La tabla suspendida (`dmslogs.awsdms_suspended_tables`) contiene los siguientes parámetros.


| Columna | Tipo | Description (Descripción) | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  El nombre de la máquina donde se está ejecutando la tarea de replicación.  | 
|  TASK\$1NAME  |  nvchar  |  El nombre de la tarea AWS DMS   | 
|  TABLE\$1OWNER  |  nvchar  |  El propietario de la tabla.  | 
|  TABLE\$1NAME  |  nvchar  |  El nombre de la tabla.  | 
|  SUSPEND\$1REASON  |  nvchar  |  Motivo de suspensión.  | 
|  SUSPEND\$1TIMESTAMP  |  timestamp  |  Hora en la que se produjo la suspensión.  | 

La tabla Replication History (Historial de replicación) (`dmslogs.awsdms_history`) contiene los siguientes parámetros.


| Columna | Tipo | Description (Descripción) | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  El nombre de la máquina donde se está ejecutando la tarea de replicación.  | 
|  TASK\$1NAME  |  nvchar  |  El identificador de recurso de la AWS DMS tarea. El ID de recurso se puede encontrar en el ARN de la tarea.  | 
|  TIMESLOT\$1TYPE  |  varchar  |  Uno de los valores siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) Si la tarea se ejecuta en carga completa y CDC, se escriben dos registros con el historial en el slot de tiempo.  | 
| TIMESLOT |  timestamp  |  La marca de tiempo de finalización del slot de tiempo.  | 
|  TIMESLOT\$1DURATION  |  int  |  Duración del slot de tiempo, en minutos.  | 
|  TIMESLOT\$1LATENCY  |  int  |  La latencia de destino al final del slot de tiempo, en segundos. Este valor solo se aplica a los intervalos de tiempo de CDC.  | 
| RECORDS |  int  |  El número de registros procesados durante el slot de tiempo.  | 
|  TIMESLOT\$1VOLUME  |  int  |  El volumen de datos procesados en MB.  | 

La tabla de errores de validación (`awsdms_validation_failures_v1`) contiene todos los errores de validación de datos de una tarea. Para obtener más información, consulte [solución de problemas de validación de datos](CHAP_Validating.md#CHAP_Validating.Troubleshooting).

La configuración adicional de la tabla de control incluye lo siguiente:
+ `HistoryTimeslotInMinutes`: utilice esta opción para indicar la longitud de cada intervalo de tiempo en la tabla de historial de replicación. El valor predeterminado es 5 minutos.
+ `ControlSchema`— Utilice esta opción para indicar el nombre del esquema de la base de datos para las tablas de control del AWS DMS destino. Si no escribe ninguna información para esta opción, las tablas se copiarán en la ubicación predeterminada de la base de datos como se indica a continuación: 
  + PostgreSQL, pública
  + Oracle, esquema de destino
  + Microsoft SQL Server, dbo en la base de datos de destino
  + MySQL, awsdms\$1control
  + MariaDB, awsdms\$1control
  + Amazon Redshift, público
  + DynamoDB, creado como tablas individuales en la base de datos
  + IBM Db2 LUW, awsdms\$1control

# Configuración de tareas del búfer de secuencia
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer"></a>

Puede establecer la configuración del búfer de flujo mediante AWS CLI, entre otras, las siguientes. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 
+ `StreamBufferCount`: utilice esta opción para especificar el número de búferes de flujo de datos para la tarea de migración. El número predeterminado del búfer de transmisión es 3. Al aumentar el valor de esta configuración podría aumentar la velocidad de extracción de los datos. Sin embargo, este aumento del desempeño depende en gran medida del entorno de migración, incluido el sistema de origen y la clase de instancia del servidor de replicación. El valor predeterminado es suficiente para la mayoría de las situaciones.
+ `StreamBufferSizeInMB`: utilice esta opción para indicar el tamaño máximo de cada búfer de flujo de datos. El valor predeterminado es 8 MB de tamaño. Es posible que necesite aumentar el valor de esta opción cuando trabaje con archivos muy grandes LOBs. También sería necesario aumentar el valor si recibe un mensaje en los archivos de registro de que el tamaño del búfer de transmisión no es suficiente. Al calcular el tamaño de esta opción, puede utilizar la siguiente ecuación:` [Max LOB size (or LOB chunk size)]*[number of LOB columns]*[number of stream buffers]*[number of tables loading in parallel per task(MaxFullLoadSubTasks)]*3`
+ `CtrlStreamBufferSizeInMB`: utilice esta opción para establecer el tamaño del búfer del flujo de control. El valor se expresa en megabytes y puede ser de 1-8. El valor predeterminado es 5. Es posible que necesite incrementar esto si trabaja con un gran número de tablas, como, por ejemplo, decenas de miles de tablas.

# Configuración de ajuste del procesamiento de cambios
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning"></a>

La siguiente configuración determina cómo se gestionan AWS DMS los cambios en las tablas de destino durante la captura de datos de cambios (CDC). Varios de estos ajustes dependerán del valor del parámetro de los metadatos de destino `BatchApplyEnabled`. Para obtener más información sobre el parámetro `BatchApplyEnabled`, consulte [Configuración de las tareas de los metadatos de destino](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md). Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

La configuración de los ajustes del procesamiento de cambios incluyen las siguientes opciones:

Se aplicarán exclusivamente los siguientes valores de configuración cuando el parámetro de metadatos `BatchApplyEnabled` se establezca en `true`.
+ `BatchApplyPreserveTransaction`: si está establecido en `true`, se mantiene la integridad de las transacciones y se garantiza que un lote contendrá todos los cambios en una transacción desde el origen. El valor predeterminado es `true`. Esta configuración se aplica solo a los puntos de enlace de destino de Oracle.

  Si se establece en `false`, pueden producirse interrupciones temporales en la integridad de las transacciones para mejorar el desempeño. No se garantiza que todos los cambios en una transacción desde el origen se apliquen al destino en un solo lote. 

  De forma predeterminada, AWS DMS procesa los cambios en un modo transaccional, lo que preserva la integridad transaccional. Si puede permitirse interrupciones temporales en la integridad de las transacciones, active la opción de aplicación optimizada por lotes. Para resultar más eficaz, esta opción agrupa las transacciones y las aplica en lotes. El uso de la opción de aplicación optimizada por lotes casi siempre infringe las restricciones de integridad referencial. Por lo tanto, le recomendamos que desactive estas restricciones durante el proceso de migración y las vuelva a activar como parte del proceso de transición. 
+ `BatchApplyTimeoutMin`— Establece el tiempo mínimo en segundos que AWS DMS debe transcurrir entre cada aplicación de cambios de lote. El valor por defecto es 1.
+ `BatchApplyTimeoutMax`— Establece la cantidad máxima de tiempo en segundos que se AWS DMS espera entre cada aplicación de cambios de lote antes de que se agote el tiempo de espera. El valor predeterminado es 30.
+ `BatchApplyMemoryLimit`: establece la cantidad máxima de memoria en (MB) para utilizar en el procesamiento previo en **modo de aplicación optimizado por lotes**. El valor predeterminado es 500.
+ `BatchSplitSize`: establece el número máximo de cambios que se aplican en un solo lote. El valor predeterminado es 0, lo que significa que no se aplica ningún límite.

Se aplicarán exclusivamente los siguientes valores de configuración cuando el parámetro de metadatos `BatchApplyEnabled` se establezca en `false`.
+ `MinTransactionSize`: establece el número mínimo de cambios que se van a incluir en cada transacción. El valor predeterminado es 1000.
+ `CommitTimeout`— Establece el tiempo máximo en segundos AWS DMS para recopilar las transacciones en lotes antes de declarar un tiempo de espera. El valor predeterminado es 1.

Para la replicación bidireccional, la siguiente configuración se aplica solo cuando el parámetro de metadatos de destino `BatchApplyEnabled` esté establecido en `false`.
+ `LoopbackPreventionSettings`: esta configuración evita que se produzca un bucle invertido para cada tarea de replicación en curso en cualquier par de tareas implicadas en la replicación bidireccional. La *prevención de bucle invertido* evita que se aplique el mismo cambio en las dos direcciones de la replicación bidireccional, lo que podría dañar los datos. Para obtener más información sobre la replicación bidireccional, consulte [Realizar la replicación bidireccional](CHAP_Task.CDC.md#CHAP_Task.CDC.Bidirectional).

AWS DMS intenta mantener los datos de la transacción en la memoria hasta que la transacción se confirme por completo con el origen, el destino o ambos. Sin embargo, las transacciones que superan el tamaño de la memoria asignada o que no se confirmaron en el límite de tiempo especificado se escriben en el disco.

La configuración siguiente se aplican para cambiar el ajuste de procesamiento independientemente del modo de procesamiento de cambios.
+ `MemoryLimitTotal`: establece el tamaño máximo (en MB) que pueden utilizar todas las transacciones en la memoria antes de que se escriban en el disco. El valor predeterminado es 1024.
+ `MemoryKeepTime`: establece el tiempo máximo en segundos que cada transacción puede permanecer en la memoria antes de que se escriba en el disco. La duración se calcula a partir del momento en que se AWS DMS empezó a capturar la transacción. El valor predeterminado es 60. 
+ `StatementCacheSize`: establece el número máximo de instrucciones preparadas para que se almacenen en el servidor para su posterior ejecución a la hora de aplicar los cambios en el destino. El valor predeterminado es 50 y el valor máximo es 200.
+ `RecoveryTimeout`— Al reanudar una tarea en modo CDC, RecoveryTimeout controla cuánto tiempo (en minutos) esperará la tarea hasta llegar al punto de control de reanudación. Si el punto de comprobación no está dentro del período de tiempo configurado, la tarea fallará. El comportamiento predeterminado es esperar indefinidamente al evento del punto de comprobación.

Ejemplo de cómo aparecen las configuraciones de tareas que gestionan los ajustes del procesamiento de cambios en un archivo JSON de configuración de tareas:

```
"ChangeProcessingTuning": {
        "BatchApplyPreserveTransaction": true,
        "BatchApplyTimeoutMin": 1,
        "BatchApplyTimeoutMax": 30,
        "BatchApplyMemoryLimit": 500,
        "BatchSplitSize": 0,
        "MinTransactionSize": 1000,
        "CommitTimeout": 1,
        "MemoryLimitTotal": 1024,
        "MemoryKeepTime": 60,
        "StatementCacheSize": 50
        "RecoveryTimeout": -1
}
```

Para controlar la frecuencia de las escrituras en un destino de Amazon S3 durante una tarea de replicación de datos, puede configurar los atributos de conexión `cdcMaxBatchInterval` y `cdcMinFileSize` adicionales. Esto puede traducirse en un mejor rendimiento al analizar los datos sin necesidad de realizar operaciones adicionales que supongan una sobrecarga. Para obtener más información, consulte [Configuración de punto final cuando se utiliza Amazon S3 como destino para AWS DMS](CHAP_Target.S3.md#CHAP_Target.S3.Configuring).

# Configuración de tareas de validación de datos
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation"></a>

Puede garantizar que los datos se han migrado de forma precisa del origen al destino. Si habilita la validación de una tarea, AWS DMS comienza a comparar los datos de origen y destino inmediatamente después de completar la carga de una tabla. Para obtener más información acerca de la validación de datos de tareas, sus requisitos, el ámbito de soporte de su base de datos y las métricas que notifica, consulte [AWS Validación de datos DMS](CHAP_Validating.md). Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

 La configuración de la validación de datos y sus valores incluye lo siguiente:
+ `EnableValidation`: habilita la validación de datos cuando se establece en verdadero. De lo contrario, la validación se deshabilita para la tarea. El valor predeterminado es false.
+ `ValidationMode`— controla cómo se AWS DMS validan los datos de la tabla de destino con los de la tabla de origen. A partir de la versión 3.5.4 del motor de replicación, DMS lo establece automáticamente en `GROUP_LEVEL` para las rutas de migración compatibles, lo que ofrece un rendimiento de validación mejorado y un procesamiento considerablemente más rápido para conjuntos de datos de gran tamaño. Esta mejora se aplica a las migraciones de las rutas de migración enumeradas en la [resincronización de datos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.DataResync.html#CHAP_DataResync.limitations). Para todas las demás rutas de migración, el modo de validación está predeterminado en `ROW_LEVEL`. 
**nota**  
Independientemente de la configuración, AWS DMS valida todas las filas configuradas mediante la validación de la tabla.
+ `FailureMaxCount`: especifica el número máximo de registros que pueden generar un error de validación antes de que se suspenda la validación de la tarea. El valor predeterminado es 10,000. Si desea que la validación continúe con independencia del número de registros que generen un error de validación, defina un valor superior al número de registros que hay en el origen.
+ `HandleCollationDiff`: cuando esta opción se establece en `true`, la validación tiene en cuenta las diferencias de intercalación de columnas entre las bases de datos de origen y de destino. De lo contrario, dichas diferencias en la intercalación de columna se pasan por alto para la validación. Las intercalaciones de columna pueden determinar el orden de las filas, lo cual es importante para la validación de datos. Al definir `HandleCollationDiff` en true se resuelven automáticamente estas diferencias de intercalación y se evitan falsos positivos en la validación de datos. El valor predeterminado es `false`.
+ `RecordFailureDelayInMinutes`: especifica el tiempo de retraso en minutos antes de notificar los detalles de error de validación.

  Si la latencia global de la tarea en modo CDC de DMS es superior al valor de `RecordFailureDelayInMinutesthen`, tendrá prioridad (por ejemplo, si `RecordFailureDelayInMinutes` es 5) y la latencia de CDC es de 7 minutos, DMS espera 7 minutos para informar de los detalles del error de validación.
+ `RecordFailureDelayLimitInMinutes`— Especifica el tiempo transcurrido antes de informar de los detalles de cualquier error de validación. AWS DMS utiliza la latencia de la tarea para reconocer el retraso real de los cambios y llegar al objetivo a fin de evitar falsos positivos. Esta configuración anula el valor real de retraso y de la latencia de la tarea en modo CDC de DMS y le permite establecer un retraso mayor antes de informar sobre las métricas de validación. El valor predeterminado es 0.
+ `RecordSuspendDelayInMinutes`: especifica el tiempo de espera en minutos antes de que se suspenda la validación de las tablas debido a que se ha establecido un umbral de error en `FailureMaxCount`.
+ `SkipLobColumns`— Si esta opción está establecida en`true`, AWS DMS omite la validación de datos de todas las columnas LOB de la parte de la tabla que forma parte de la validación de la tarea. El valor predeterminado es `false`.
+ `TableFailureMaxCount`: especifica el número máximo de filas en una tabla que pueden generar un error de validación antes de que se suspenda la validación de la tabla. El valor predeterminado es 1,000. 
+ `ThreadCount`— Especifica el número de subprocesos de ejecución que se AWS DMS utilizan durante la validación. Cada hilo selecciona not-yet-validated datos del origen y el destino para compararlos y validarlos. El valor predeterminado es 5. Si se establece `ThreadCount` en un número mayor, AWS DMS se puede completar la validación más rápido. Sin embargo, AWS DMS a continuación ejecuta más consultas simultáneas, consumiendo más recursos en el origen y el destino.
+ `ValidationOnly`: cuando esta opción se establece en `true`, la tarea realiza la validación de datos sin realizar ninguna migración ni replicación de datos. El valor predeterminado es `false`. No puede modificar la configuración de `ValidationOnly` una vez creada la tarea.

  Debe establecer **TargetTablePrepMode**en `DO_NOTHING` (el valor predeterminado para una tarea únicamente de validación) y establecer el **tipo de migración** en una de las siguientes opciones:
  + Carga completa: defina el **tipo de migración de** la tarea en **Migrar los datos existentes** en la AWS DMS consola. O bien, en la AWS DMS API, defina el tipo de migración en CARGA COMPLETA.
  + CDC: establezca la tarea **Tipo de migración** en **Replicar solo cambios de datos** en la consola de AWS DMS . O bien, en la AWS DMS API, defina el tipo de migración en CDC.

  Independientemente del tipo de migración elegido, los datos en realidad no se migran ni se replican durante una tarea exclusiva de validación.

  Para obtener más información, consulte [Tareas exclusivas de validación](CHAP_Validating.md#CHAP_Validating.ValidationOnly).
**importante**  
La configuración de `ValidationOnly` es inmutable. No se puede modificar para una tarea después de crearla.
+ `ValidationPartialLobSize`: especifica si desea realizar una validación parcial de las columnas de LOB en lugar de validar todos los datos almacenados en la columna. Esto puede resultarle útil al migrar solo una parte de los datos de LOB y no todo el conjunto de datos de LOB. El valor está en unidades de KB. El valor predeterminado es 0, lo que significa que AWS DMS valida todos los datos de la columna de LOB. Por ejemplo, `"ValidationPartialLobSize": 32` significa que AWS DMS solo valida los primeros 32 KB de los datos de la columna, tanto en el origen como en el destino.
+ `PartitionSize`: especifica el tamaño del lote de registros que se van a leer para compararlos entre el origen y el destino. El valor predeterminado es 10 000.
+ `ValidationQueryCdcDelaySeconds`: el tiempo que se retrasa la primera consulta de validación tanto en el origen como en el destino de cada actualización de CDC. Esto podría ayudar a reducir la contención de recursos cuando la latencia de migración es alta. Una tarea exclusiva de validación establece automáticamente esta opción en 180 segundos. El valor predeterminado es 0.

Por ejemplo, el siguiente JSON permite la validación de datos con dos veces el número predeterminado de procesos. También contabiliza las diferencias en el orden de registros provocadas por diferencias de intercalación de columnas en puntos de enlace de PostgreSQL. Asimismo, proporciona un retraso de informes de validación para incluir tiempo adicional para procesar los errores de validación.

```
"ValidationSettings": {
     "EnableValidation": true,
     "ThreadCount": 10,
     "HandleCollationDiff": true,
     "RecordFailureDelayLimitInMinutes": 30
  }
```

**nota**  
En el caso de un punto final de Oracle, AWS DMS utiliza DBMS\$1CRYPTO para la validación. BLOBs Si su terminal de Oracle lo utiliza BLOBs, conceda el `execute` permiso de DBMS\$1CRYPTO a la cuenta de usuario que accede al punto de conexión de Oracle. Para hacer esto, ejecute la siguiente instrucción.  

```
grant execute on sys.dbms_crypto to dms_endpoint_user;
```

# Configuración de la resincronización de datos
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings"></a>

La característica de resincronización de datos le permite resincronizar la base de datos de destino con la base de datos de origen en función del informe de validación de datos. Para obtener más información, consulte [Validación de datos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html).

Puede añadir parámetros adicionales para `ResyncSettings` en el punto de conexión `ReplicationTaskSettings` que configura el proceso de resincronización. Para obtener más información, consulte [Ejemplo de configuración de tarea](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html#CHAP_Tasks.CustomizingTasks.TaskSettings.Example) en la sección [Especificación de la configuración de tareas para tareas de AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).

**nota**  
Los parámetros `ResyncSchedule` y `MaxResyncTime` son necesarios si el proceso de resincronización está activado y la tarea tiene un componente CDC. No son válidos para las tareas exclusivas de carga completa.

La configuración y los valores de los parámetros de resincronización de datos son los siguientes:

`EnableResync`  
Activa la característica de resincronización de datos cuando se establece en `true`. La resincronización de datos está deshabilitada de forma predeterminada.  
**Tipo de datos**: booleano  
**Obligatorio**: no  
**Valor predeterminado**: `false`  
**Validación**: no debe ser nulo si el parámetro `ResyncSettings` está presente en `TaskSettings`.

`ResyncSchedule`  
Periodo de tiempo para que entre en vigor la característica de resincronización de datos. Debe estar presente en formato Cron. Para obtener más información, consulte [Reglas de expresiones cron](CHAP_Validating.DataResync.md#CHAP_DataResync.cron).  
**Tipo de datos**: cadena  
**Obligatorio**: no  
**Validación**:   
+ Debe estar presente en formato de expresión cron.
+ No debe ser nulo para las tareas con CDC que tienen `EnableResync` configurado en `true`.
+ No se puede configurar para tareas sin el componente CDC.

`MaxResyncTime`  
Límite de tiempo máximo en minutos para que entre en vigor la característica de resincronización de datos.  
**Tipo de datos**: entero  
**Obligatorio**: no  
**Validación**:   
+ No debe ser nulo para las tareas con CDC.
+ No es obligatorio para las tareas sin CDC.
+ Valor mínimo: `5 minutes`, Valor máximo: `14400 minutes` (10 días).

`Validation onlyTaskID`  
ID exclusivo de la tarea de validación. El ID de la tarea exclusiva de validación se añade al final de un ARN. Por ejemplo:  
+ ARN de la tarea exclusiva de validación: `arn:aws:dms:us-west-2:123456789012:task:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI`
+ ID de la tarea exclusiva de validación: `6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI`
**Tipo de datos**: cadena  
**Obligatorio**: no  
**Validación**: no debe ser nulo para las tareas con la característica de resincronización de datos habilitada y la validación deshabilitada.  
Ejemplo:  

```
"ResyncSettings": {
    "EnableResync": true,
    "ResyncSchedule": "30 9 ? * MON-FRI", 
    "MaxResyncTime": 400,  
    "ValidationTaskId": "JXPP94804DJOEWIJD9348R3049"
},
```

# Configuración de tareas para la administración de DDL del procesamiento de cambios
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling"></a>



La siguiente configuración determina cómo se gestionan los cambios AWS DMS en el lenguaje de definición de datos (DDL) de las tablas de destino durante la captura de datos de cambios (CDC). Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Las opciones de configuración de tareas para administrar DDL de procesamiento de cambios incluyen las siguientes:
+ `HandleSourceTableDropped –` establezca esta opción en `true` para dejar la tabla de destino cuando se ha dejado la tabla de origen.
+ `HandleSourceTableTruncated`: establezca esta opción en `true` para truncar la tabla de destino cuando se haya truncado la tabla de origen.
+ `HandleSourceTableAltered`: establezca esta opción en `true` para modificar la tabla de destino cuando se haya modificado la tabla de origen.

A continuación se muestra un ejemplo de cómo aparecen las configuraciones de tareas que manejan DDL de procesamiento de cambios en un archivo JSON de configuración de tareas:

```
                "ChangeProcessingDdlHandlingPolicy": {
                   "HandleSourceTableDropped": true,
                   "HandleSourceTableTruncated": true,
                   "HandleSourceTableAltered": true
                },
```

**nota**  
Para obtener información sobre qué instrucciones DDL son compatibles con un punto de conexión específico, consulte el tema que describa dicho punto de conexión.

# Configuración de la tarea de sustitución de caracteres
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution"></a>

Puede especificar que la tarea de replicación sustituya caracteres en la base de datos de destino para todas las columnas de la base de datos de origen con el tipo de `WSTRING` datos AWS DMS `STRING` o. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Puede configurar la sustitución de caracteres para cualquier tarea con puntos de enlace desde las siguientes bases de datos de origen y de destino:
+ Bases de datos de origen
  + Oracle
  + Microsoft SQL Server
  + MySQL
  + MariaDB
  + PostgreSQL
  + SAP Adaptive Server Enterprise (ASE)
  + IBM Db2 LUW
+ Bases de datos de destino:
  + Oracle
  + Microsoft SQL Server
  + MySQL
  + MariaDB
  + PostgreSQL
  + SAP Adaptive Server Enterprise (ASE)
  + Amazon Redshift

Puede especificar sustituciones de caracteres mediante el parámetro `CharacterSetSettings` en la configuración de la tarea. Estas sustituciones de caracteres se producen para caracteres especificados mediante el valor de punto de código Unicode en notación hexadecimal. Puede implementar las sustituciones en dos fases, en el orden siguiente si se especifican ambas:

1. **Reemplazo de caracteres individuales**: AWS DMS puede reemplazar los valores de los caracteres seleccionados en el origen por valores de reemplazo específicos de los caracteres correspondientes del destino. Utilice la matriz `CharacterReplacements` de `CharacterSetSettings` para seleccionar todos los caracteres de origen que tengan los puntos de código Unicode que especifique. Utilice esta matriz también para especificar los puntos de código de sustitución para los caracteres correspondientes en el destino. 

   Para seleccionar todos los caracteres del origen que tengan un punto de código determinado, establezca una instancia de `SourceCharacterCodePoint` en la matriz `CharacterReplacements` en ese punto de código. A continuación, especifique el punto de código de sustitución para todos los caracteres de destino equivalentes estableciendo la instancia correspondiente de `TargetCharacterCodePoint` en esta matriz. Para eliminar los caracteres de destino en lugar de reemplazarlos, establezca las instancias adecuadas de `TargetCharacterCodePoint` en cero (0). Puede sustituir o eliminar tantos valores diferentes de caracteres de destino como desee especificando pares adicionales de configuración `TargetCharacterCodePoint` `SourceCharacterCodePoint` y en la matriz `CharacterReplacements`. Si especifica el mismo valor para varias instancias de `SourceCharacterCodePoint`, se aplica al destino el valor de la última configuración correspondiente de `TargetCharacterCodePoint`.

   Por ejemplo, suponga que especifica los siguientes valores para `CharacterReplacements`.

   ```
   "CharacterSetSettings": {
       "CharacterReplacements": [ {
           "SourceCharacterCodePoint": 62,
           "TargetCharacterCodePoint": 61
           }, {
           "SourceCharacterCodePoint": 42,
           "TargetCharacterCodePoint": 41
           }
       ]
   }
   ```

   En este ejemplo, AWS DMS reemplaza todos los caracteres con el valor hexadecimal 62 del punto de código fuente del destino por caracteres con el valor 61 del punto de código. Además, AWS DMS reemplaza todos los caracteres con el punto de código fuente 42 en el destino por caracteres con el valor de punto de código 41. En otras palabras, AWS DMS sustituye todas las instancias de la letra `'b'` del destino por la letra `'a'`. Del mismo modo, AWS DMS reemplaza todas las instancias de `'B'` la letra del destino por la letra`'A'`.

1. **Validación y reemplazo del conjunto de caracteres**: una vez completada la sustitución de caracteres individuales, AWS DMS puede asegurarse de que todos los caracteres de destino tengan puntos de código Unicode válidos en el conjunto de caracteres único que especifique. Puede utilizar `CharacterSetSupport` en `CharacterSetSettings` para configurar la verificación y modificación de este carácter de destino. Para especificar el conjunto de caracteres de verificación, establezca `CharacterSet` en `CharacterSetSupport` en el valor de cadena del conjunto de caracteres. (Los posibles valores para `CharacterSet` son los siguientes). Puede hacer que AWS DMS modifique los caracteres de destino no válidos de una de las siguientes maneras:
   + Especificar un único punto de código Unicode de sustitución para todos los caracteres de destino no válidos, independientemente de su punto de código actual. Para configurar este punto de código de sustitución, `CharacterSetSupport` establezca `ReplaceWithCharacterCodePoint` en el valor especificado.
   + Configurar la eliminación de todos los caracteres de destino no válidos estableciendo `ReplaceWithCharacterCodePoint` en cero (0).

   Por ejemplo, suponga que especifica los siguientes valores para `CharacterSetSupport`.

   ```
   "CharacterSetSettings": {
       "CharacterSetSupport": {
           "CharacterSet": "UTF16_PlatformEndian",
           "ReplaceWithCharacterCodePoint": 0
       }
   }
   ```

   En este ejemplo, AWS DMS elimina todos los caracteres encontrados en el destino que no sean válidos en el juego de `"UTF16_PlatformEndian"` caracteres. Por tanto, todos los caracteres especificados con el valor hexadecimal `2FB6` se eliminan. Este valor no es válido porque se trata de un punto de código Unicode de 4 bytes y UTF16 los juegos de caracteres solo aceptan caracteres con puntos de código de 2 bytes.

**nota**  
La tarea de replicación completa todas las sustituciones de caracteres especificadas antes de iniciar las transformaciones globales o de nivel de tabla que especifique a través del mapeo de tablas. Para obtener más información sobre la asignación de tablas, consulte [Uso del mapeo de tablas para especificar la configuración de tareas](CHAP_Tasks.CustomizingTasks.TableMapping.md).  
La sustitución de caracteres no admite los tipos de datos LOB. Esto incluye cualquier tipo de datos que DMS considere un tipo de datos LOB. Por ejemplo, el tipo de datos `Extended` de Oracle se considera un LOB. Para obtener más información acerca de las tipos de datos de origen, consulte [Tipos de datos de origen para Oracle](CHAP_Source.Oracle.md#CHAP_Source.Oracle.DataTypes) a continuación: 

Los valores AWS DMS compatibles `CharacterSet` aparecen en la siguiente tabla.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.html)

# Configuración de tareas de imagen anterior
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage"></a>

Al escribir actualizaciones de CDC en un destino de flujo de datos como Kinesis o Apache Kafka puede ver los valores originales de una fila de base de datos de origen antes de cambiarlos mediante una actualización. Para que esto sea posible, AWS DMS rellena una *imagen anterior* de los eventos de actualización en función de los datos proporcionados por el motor de base de datos de origen. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

Para ello, utilice el parámetro `BeforeImageSettings`, que agrega un nuevo atributo JSON a cada operación de actualización con valores recopilados del sistema de base de datos de origen. 

Asegúrese de aplicar `BeforeImageSettings` solo a la carga completa más las tareas de CDC o a las tareas solo de CDC. La carga completa más las tareas de CDC migran los datos existentes y replican los cambios en curso. Las tareas solo de CDC replican solo los cambios de los datos. 

No se aplica `BeforeImageSettings` a tareas que son solo de carga completa.

Las opciones posibles de `BeforeImageSettings` son las siguientes:
+ `EnableBeforeImage`: se enciende antes de la toma de imágenes cuando está configurado en `true`. El valor predeterminado es `false`. 
+ `FieldName`: asigna un nombre al nuevo atributo JSON. Cuando `EnableBeforeImage` es `true`, `FieldName` es necesario y no puede estar vacío.
+ `ColumnFilter`: especifica una columna para agregar mediante el uso de las imágenes anteriores. Para agregar solo columnas que forman parte de las claves principales de la tabla, utilice el valor predeterminado, `pk-only`. Para agregar cualquier columna que tenga un valor de imagen anterior, utilice `all`. Tenga en cuenta que la imagen anterior no admite tipos de datos de objetos binarios (LOB) de gran tamaño, como CLOB y BLOB.

A continuación, se muestra un ejemplo del uso de `BeforeImageSettings`. 

```
"BeforeImageSettings": {
    "EnableBeforeImage": true,
    "FieldName": "before-image",
    "ColumnFilter": "pk-only"
  }
```

Para obtener información sobre la configuración de imágenes anteriores para Kinesis, incluida la configuración adicional de asignación de tablas, consulte [Uso de una imagen anterior para consultar los valores originales de las filas de CDC de un flujo de datos de Kinesis como destino](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.BeforeImage).

Para obtener información sobre la configuración de imagen anterior de Kafka, incluida la configuración adicional de asignación de tablas, consulte [Uso de una imagen anterior para consultar los valores originales de las filas de CDC para Apache Kafka como destino](CHAP_Target.Kafka.md#CHAP_Target.Kafka.BeforeImage).

# Configuración de las tareas de administración de errores
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling"></a>

Puede establecer el comportamiento de la administración de errores de la tarea de replicación mediante los siguientes valores de configuración. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte [Ejemplo de configuración de tarea](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ `DataErrorPolicy`— Determina la acción que toma el AWS DMS cuando se produce un error relacionado con el procesamiento de datos a nivel de registro. Algunos ejemplos de errores en el procesamiento de datos incluyen los errores de conversión, los errores de transformación y los datos incorrectos. El valor predeterminado es `LOG_ERROR`.
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad `DataErrorEscalationCount` se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite. 
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `DataTruncationErrorPolicy`: determina la acción que emprende AWS DMS cuando se truncan datos. El valor predeterminado es `LOG_ERROR`.
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad `DataErrorEscalationCount` se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite. 
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `DataErrorEscalationPolicy`: determina la acción que emprende AWS DMS cuando se alcanza el número máximo de errores (establecido en el parámetro `DataErrorEscalationCount`). El valor predeterminado es `SUSPEND_TABLE`.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `DataErrorEscalationCount`: establece el número máximo de errores que pueden producirse en los datos para un registro específico. Cuando se alcanza esta cifra, los datos de la tabla que contiene el registro de errores se administran de acuerdo con la política que se estableció en `DataErrorEscalationPolicy`. El valor predeterminado es 0. 
+ `EventErrorPolicy`— Determina la acción que realiza el AWS DMS cuando se produce un error al enviar un evento relacionado con una tarea. Los valores posibles son
  + `IGNORE`: la tarea continúa y se ignoran los datos asociados a ese evento.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `TableErrorPolicy`: determina la acción que emprende AWS DMS cuando se produce un error al procesar los datos o los metadatos para una tabla específica. Este error solo se aplica a los datos de la tabla general y no es un error que se refiera a un registro específico. El valor predeterminado es `SUSPEND_TABLE`.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `TableErrorEscalationPolicy`: determina la acción que emprende AWS cuando se alcanza el número máximo de errores (establecida utilizando el parámetro `TableErrorEscalationCount`). El valor de configuración predeterminado y único del usuario es `STOP_TASK`, con el que la tarea se detiene y se requiere intervención manual.
+ `TableErrorEscalationCount`: el número máximo de errores que pueden producirse en los datos o metadatos generales para una tabla específica. Cuando se alcanza esta cifra, los datos de la tabla se gestionan de acuerdo con la política establecida en `TableErrorEscalationPolicy`. El valor predeterminado es 0. 
+ `RecoverableErrorCount`: el número máximo de intentos para reiniciar una tarea cuando se produce un error del entorno. Después de que el sistema intenta reiniciar la tarea el número de veces establecido, la tarea se detiene y se requiere intervención manual. El valor predeterminado es -1.

  Si se establece este valor en -1, el número de reintentos realizados por DMS varía en función del tipo de error devuelto, de la siguiente forma:
  + **Estado de ejecución, error recuperable**: si se produce un error recuperable, como una conexión perdida o un error de aplicación de destino, DMS reintenta realizar la tarea nueve veces.
  + **Estado inicial, error recuperable**: DMS reintenta realizar la tarea seis veces.
  + **Estado de ejecución, error grave gestionado por DMS**: DMS reintenta realizar la tarea seis veces.
  + **Estado de ejecución, error grave no gestionado por DMS**: DMS no reintenta realizar la tarea.
  + **Excepto el anterior**: AWS DMS reintenta la tarea indefinidamente.

  Establezca este valor en 0 para no intentar nunca reiniciar una tarea. 

  Se recomienda establecer `RecoverableErrorCount` y `RecoverableErrorInterval` en valores que permitan suficientes reintentos a intervalos suficientes para que la tarea de DMS se recupere de forma adecuada. Si se produce un error grave, DMS deja de intentar reiniciar en la mayoría de los casos.
+ `RecoverableErrorInterval`— El número de segundos que espera el AWS DMS entre los intentos de reiniciar una tarea. El valor predeterminado es 5. 
+ `RecoverableErrorThrottling`: cuando se habilita, el intervalo entre los intentos de reiniciar una tarea se incrementa en una serie en función del valor de `RecoverableErrorInterval`. Por ejemplo, si `RecoverableErrorInterval` se establece en 5 segundos, el siguiente reintento se realizará después de 10 segundos, 20, 40 segundos y así sucesivamente. El valor predeterminado es `true`. 
+ `RecoverableErrorThrottlingMax`— El número máximo de segundos que espera el AWS DMS entre intentos de reiniciar una tarea si está activado. `RecoverableErrorThrottling` El valor predeterminado es 1800. 
+ `RecoverableErrorStopRetryAfterThrottlingMax`— El valor predeterminado está establecido en y DMS deja de reanudar la tarea cuando se alcanza el número máximo de segundos de AWS DMS espera entre los intentos de recuperación, cada uno. `true` `RecoverableErrorStopRetryAfterThrottlingMax` Si se establece en`false`, el DMS sigue reanudando la tarea una vez alcanzado el número máximo de segundos de AWS DMS espera entre los intentos de recuperación, por cada momento. `RecoverableErrorStopRetryAfterThrottlingMax` `RecoverableErrorCount`
+ `ApplyErrorDeletePolicy`: determina la acción que va emprender AWS DMS cuando existe un conflicto con una operación DELETE. El valor predeterminado es `IGNORE_RECORD`. Los valores posibles son los siguientes:
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad `ApplyErrorEscalationCount` se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite. 
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `ApplyErrorInsertPolicy`: determina la acción que va emprender AWS DMS cuando existe un conflicto con una operación INSERT. El valor predeterminado es `LOG_ERROR`. Los valores posibles son los siguientes:
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad `ApplyErrorEscalationCount` se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite. 
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
  + `INSERT_RECORD`: si hay un registro de destino con la misma clave principal que el registro de origen que se insertó, el registro de destino se actualiza.
**nota**  
**En el modo de aplicación transaccional**: en este proceso, el sistema primero intenta insertar el registro. Si la inserción falla debido a un conflicto de clave principal, elimina el registro existente y, a continuación, inserta el nuevo. 
**En el modo de aplicación por lotes**: el proceso elimina todos los registros existentes del lote de destino antes de insertar el conjunto completo de registros nuevos, lo que garantiza una sustitución limpia de los datos.
Este proceso evita la duplicación de datos, pero supone algunos costes de rendimiento en comparación con la política predeterminada. El impacto exacto en el rendimiento depende de las características específicas de la carga de trabajo.
+ `ApplyErrorUpdatePolicy`: determina qué acción va emprender AWS DMS cuando existe un conflicto de datos que faltan con una operación UPDATE. El valor predeterminado es `LOG_ERROR`. Los valores posibles son los siguientes:
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad `ApplyErrorEscalationCount` se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite. 
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
  + `UPDATE_RECORD`— Si falta el registro de destino, el registro de destino que falta se inserta en la tabla de objetivos. AWS DMS desactiva por completo el soporte de la columna LOB para la tarea. Si se selecciona esta opción, es necesario habilitar el registro suplementario completo para todas las columnas en la tabla de origen cuando Oracle sea la base de datos de origen.
**nota**  
**En el modo de aplicación transaccional**: en este proceso, el sistema primero intenta actualizar el registro. Si se produce un error en la actualización porque falta un registro en el destino, elimina el registro fallido y, a continuación, inserta el nuevo registro. Este proceso requiere un registro complementario completo para las bases de datos de origen de Oracle. Además, DMS debe desactivar la compatibilidad con las columnas LOB para esta tarea.
**En el modo de aplicación por lotes**: el proceso elimina todos los registros existentes del lote de destino antes de insertar el conjunto completo de registros nuevos, lo que garantiza una sustitución limpia de los datos.
+ `ApplyErrorEscalationPolicy`— Determina qué acción toma AWS DMS cuando se alcanza el número máximo de errores (establecido mediante el `ApplyErrorEscalationCount` parámetro). El valor predeterminado es LOG\$1ERROR:
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.
  + `STOP_TASK`: la tarea se detiene y se necesitará intervención manual.
+ `ApplyErrorEscalationCount`: esta opción establece el número máximo de conflictos APPLY que pueden producirse en una tabla específica durante una operación del proceso de cambio. Cuando se alcanza esta cifra, los datos de la tabla se gestionan de acuerdo con la política establecida en el parámetro `ApplyErrorEscalationPolicy`. El valor predeterminado es 0. 
+ `ApplyErrorFailOnTruncationDdl`: establezca esta opción en `true` para provocar el fracaso de la tarea cuando se realiza el truncado en cualquiera de las tablas a las que se ha hecho un seguimiento durante la CDC. El valor predeterminado es `false`. 

  Este enfoque no funciona con PostgreSQL versión 11.x o menor o cualquier otro punto de conexión de origen que no replica el truncado de la tabla DDL.
+ `FailOnNoTablesCaptured`: establezca esta opción en `true` para provocar el fracaso de la tarea cuando las asignaciones de las tablas definidos para una tarea no encuentran tablas cuando la tarea comienza. El valor predeterminado es `true`.
+ `FailOnTransactionConsistencyBreached`: esta opción se aplica a tareas que utilizan Oracle como origen con CDC. El valor predeterminado es false. Establézcala en `true` para provocar el fracaso de la tarea cuando una transacción está abierta durante más tiempo que el tiempo de espera especificado y puede abandonarse. 

  Cuando una tarea de CDC comienza con Oracle, AWS DMS espera durante un tiempo limitado a que se cierre la transacción abierta más antigua antes de iniciar CDC. Si la transacción abierta más antigua no se cierra hasta que se agota el tiempo de espera, en la mayoría de los casos, CDC AWS DMS inicia sin tener en cuenta esa transacción. Si esta opción está establecida en `true`, se producirá un error en la tarea.
+ `FullLoadIgnoreConflicts`— Configure esta opción `true` para AWS DMS ignorar los errores «cero filas afectadas» y «duplicados» al aplicar eventos en caché. Si se establece en`false`, AWS DMS informa de todos los errores en lugar de ignorarlos. El valor predeterminado es `true`. 
+ `DataMaskingErrorPolicy`— Determina la acción que se debe tomar cuando se AWS DMS produce un error en el enmascaramiento de datos debido a un tipo de datos incompatible o por cualquier otro motivo. Están disponibles las siguientes opciones:
  + `STOP_TASK` (predeterminado): la tarea se detiene y se necesita intervención manual.
  + `IGNORE_RECORD`: la tarea continúa y los datos de este registro se omiten.
  + `LOG_ERROR`: la tarea continúa y el error se escribe en el registro de tareas. Los datos desenmascarados se cargarán en la tabla de destino.
  + `SUSPEND_TABLE`: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

**nota**  
 Los errores de carga de tablas en Redshift como objetivo se muestran en. `STL_LOAD_ERRORS` Para obtener más información, consulte [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) en la *Guía para desarrolladores de bases de datos de Amazon Redshift*.

**nota**  
Los cambios de parámetros relacionados con los errores recuperables solo surten efecto después de detener y reanudar la tarea del DMS. Los cambios no se aplican a la ejecución actual.

# Guardar la configuración de las tareas
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Saving"></a>

Puede guardar la configuración de una tarea como archivo JSON, en caso de que desee reutilizar la configuración para otra tarea. Puede encontrar la configuración de las tareas para copiarla en un archivo JSON en la sección de **detalles generales** de una tarea.

**nota**  
Al reutilizar la configuración de tareas para otras tareas, se elimina cualquier atributo `CloudWatchLogGroup` y `CloudWatchLogStream`. De lo contrario, aparece el siguiente error: MENSAJE DE ERROR DEL SISTEMA: la configuración de la tarea CloudWatchLogGroup o CloudWatchLogStream no se puede configurar al crearla.

Por ejemplo, el siguiente archivo JSON contiene valores de configuración que se guardaron para una tarea.

```
{
    "TargetMetadata": {
        "TargetSchema": "",
        "SupportLobs": true,
        "FullLobMode": false,
        "LobChunkSize": 0,
        "LimitedSizeLobMode": true,
        "LobMaxSize": 32,
        "InlineLobMaxSize": 0,
        "LoadMaxFileSize": 0,
        "ParallelLoadThreads": 0,
        "ParallelLoadBufferSize": 0,
        "BatchApplyEnabled": false,
        "TaskRecoveryTableEnabled": false,
        "ParallelLoadQueuesPerThread": 0,
        "ParallelApplyThreads": 0,
        "ParallelApplyBufferSize": 0,
        "ParallelApplyQueuesPerThread": 0
    },
    "FullLoadSettings": {
        "TargetTablePrepMode": "DO_NOTHING",
        "CreatePkAfterFullLoad": false,
        "StopTaskCachedChangesApplied": false,
        "StopTaskCachedChangesNotApplied": false,
        "MaxFullLoadSubTasks": 8,
        "TransactionConsistencyTimeout": 600,
        "CommitRate": 10000
    },
    "Logging": {
        "EnableLogging": true,
        "LogComponents": [
            {
                "Id": "TRANSFORMATION",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SOURCE_UNLOAD",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "IO",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TARGET_LOAD",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "PERFORMANCE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SOURCE_CAPTURE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SORTER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "REST_SERVER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "VALIDATOR_EXT",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TARGET_APPLY",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TASK_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TABLES_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "METADATA_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "FILE_FACTORY",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "COMMON",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "ADDONS",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "DATA_STRUCTURE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "COMMUNICATION",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "FILE_TRANSFER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            }
        ]
    },
    "ControlTablesSettings": {
        "ControlSchema": "",
        "HistoryTimeslotInMinutes": 5,
        "HistoryTableEnabled": false,
        "SuspendedTablesTableEnabled": false,
        "StatusTableEnabled": false,
        "FullLoadExceptionTableEnabled": false
    },
    "StreamBufferSettings": {
        "StreamBufferCount": 3,
        "StreamBufferSizeInMB": 8,
        "CtrlStreamBufferSizeInMB": 5
    },
    "ChangeProcessingDdlHandlingPolicy": {
        "HandleSourceTableDropped": true,
        "HandleSourceTableTruncated": true,
        "HandleSourceTableAltered": true
    },
    "ErrorBehavior": {
        "DataErrorPolicy": "LOG_ERROR",
        "DataTruncationErrorPolicy": "LOG_ERROR",
        "DataErrorEscalationPolicy": "SUSPEND_TABLE",
        "DataErrorEscalationCount": 0,
        "TableErrorPolicy": "SUSPEND_TABLE",
        "TableErrorEscalationPolicy": "STOP_TASK",
        "TableErrorEscalationCount": 0,
        "RecoverableErrorCount": -1,
        "RecoverableErrorInterval": 5,
        "RecoverableErrorThrottling": true,
        "RecoverableErrorThrottlingMax": 1800,
        "RecoverableErrorStopRetryAfterThrottlingMax": true,
        "ApplyErrorDeletePolicy": "IGNORE_RECORD",
        "ApplyErrorInsertPolicy": "LOG_ERROR",
        "ApplyErrorUpdatePolicy": "LOG_ERROR",
        "ApplyErrorEscalationPolicy": "LOG_ERROR",
        "ApplyErrorEscalationCount": 0,
        "ApplyErrorFailOnTruncationDdl": false,
        "FullLoadIgnoreConflicts": true,
        "FailOnTransactionConsistencyBreached": false,
        "FailOnNoTablesCaptured": true
    },
    "ChangeProcessingTuning": {
        "BatchApplyPreserveTransaction": true,
        "BatchApplyTimeoutMin": 1,
        "BatchApplyTimeoutMax": 30,
        "BatchApplyMemoryLimit": 500,
        "BatchSplitSize": 0,
        "MinTransactionSize": 1000,
        "CommitTimeout": 1,
        "MemoryLimitTotal": 1024,
        "MemoryKeepTime": 60,
        "StatementCacheSize": 50
    },
    "PostProcessingRules": null,
    "CharacterSetSettings": null,
    "LoopbackPreventionSettings": null,
    "BeforeImageSettings": null,
    "FailTaskWhenCleanTaskResourceFailed": false
}
```