start_replication_task

start_replication_task(**kwargs)

Starts the replication task.

For more information about DMS tasks, see Working with Migration Tasks in the Database Migration Service User Guide.

See also: AWS API Documentation

Request Syntax

response = client.start_replication_task(
    ReplicationTaskArn='string',
    StartReplicationTaskType='start-replication'|'resume-processing'|'reload-target',
    CdcStartTime=datetime(2015, 1, 1),
    CdcStartPosition='string',
    CdcStopPosition='string'
)
Parameters
  • ReplicationTaskArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the replication task to be started.

  • StartReplicationTaskType (string) --

    [REQUIRED]

    The type of replication task to start.

    When the migration type is full-load or full-load-and-cdc , the only valid value for the first run of the task is start-replication . This option will start the migration.

    You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

    The resume-processing option isn't applicable for a full-load task, because you can't resume partially loaded tables during the full load phase.

    For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target . Otherwise use resume-processing , to replicate the changes from the last stop position.

  • CdcStartTime (datetime) --

    Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

    Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

  • CdcStartPosition (string) --

    Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

    The value can be in date, checkpoint, or LSN/SCN format.

    Date Example: --cdc-start-position “2018-03-08T12:12:12”

    Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

    LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

    Note

    When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.

  • CdcStopPosition (string) --

    Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

    Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

    Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

Return type

dict

Returns

Response Syntax

{
    'ReplicationTask': {
        'ReplicationTaskIdentifier': 'string',
        'SourceEndpointArn': 'string',
        'TargetEndpointArn': 'string',
        'ReplicationInstanceArn': 'string',
        'MigrationType': 'full-load'|'cdc'|'full-load-and-cdc',
        'TableMappings': 'string',
        'ReplicationTaskSettings': 'string',
        'Status': 'string',
        'LastFailureMessage': 'string',
        'StopReason': 'string',
        'ReplicationTaskCreationDate': datetime(2015, 1, 1),
        'ReplicationTaskStartDate': datetime(2015, 1, 1),
        'CdcStartPosition': 'string',
        'CdcStopPosition': 'string',
        'RecoveryCheckpoint': 'string',
        'ReplicationTaskArn': 'string',
        'ReplicationTaskStats': {
            'FullLoadProgressPercent': 123,
            'ElapsedTimeMillis': 123,
            'TablesLoaded': 123,
            'TablesLoading': 123,
            'TablesQueued': 123,
            'TablesErrored': 123,
            'FreshStartDate': datetime(2015, 1, 1),
            'StartDate': datetime(2015, 1, 1),
            'StopDate': datetime(2015, 1, 1),
            'FullLoadStartDate': datetime(2015, 1, 1),
            'FullLoadFinishDate': datetime(2015, 1, 1)
        },
        'TaskData': 'string',
        'TargetReplicationInstanceArn': 'string'
    }
}

Response Structure

  • (dict) --

    • ReplicationTask (dict) --

      The replication task started.

      • ReplicationTaskIdentifier (string) --

        The user-assigned replication task identifier or name.

        Constraints:

        • Must contain 1-255 alphanumeric characters or hyphens.
        • First character must be a letter.
        • Cannot end with a hyphen or contain two consecutive hyphens.
      • SourceEndpointArn (string) --

        The Amazon Resource Name (ARN) that uniquely identifies the endpoint.

      • TargetEndpointArn (string) --

        The ARN that uniquely identifies the endpoint.

      • ReplicationInstanceArn (string) --

        The ARN of the replication instance.

      • MigrationType (string) --

        The type of migration.

      • TableMappings (string) --

        Table mappings specified in the task.

      • ReplicationTaskSettings (string) --

        The settings for the replication task.

      • Status (string) --

        The status of the replication task. This response parameter can return one of the following values:

        Note

        StartReplicationTaskAssessmentRun is an improved premigration task assessment operation. The StartReplicationTaskAssessment operation assesses data type compatibility only between the source and target database of a given migration task. In contrast, StartReplicationTaskAssessmentRun enables you to specify a variety of premigration task assessments in addition to data type compatibility. These assessments include ones for the validity of primary key definitions and likely issues with database migration performance, among others.

      • LastFailureMessage (string) --

        The last error (failure) message generated for the replication task.

      • StopReason (string) --

        The reason the replication task was stopped. This response parameter can return one of the following values:

        • "Stop Reason NORMAL"
        • "Stop Reason RECOVERABLE_ERROR"
        • "Stop Reason FATAL_ERROR"
        • "Stop Reason FULL_LOAD_ONLY_FINISHED"
        • "Stop Reason STOPPED_AFTER_FULL_LOAD" – Full load completed, with cached changes not applied
        • "Stop Reason STOPPED_AFTER_CACHED_EVENTS" – Full load completed, with cached changes applied
        • "Stop Reason EXPRESS_LICENSE_LIMITS_REACHED"
        • "Stop Reason STOPPED_AFTER_DDL_APPLY" – User-defined stop task after DDL applied
        • "Stop Reason STOPPED_DUE_TO_LOW_MEMORY"
        • "Stop Reason STOPPED_DUE_TO_LOW_DISK"
        • "Stop Reason STOPPED_AT_SERVER_TIME" – User-defined server time for stopping task
        • "Stop Reason STOPPED_AT_COMMIT_TIME" – User-defined commit time for stopping task
        • "Stop Reason RECONFIGURATION_RESTART"
        • "Stop Reason RECYCLE_TASK"
      • ReplicationTaskCreationDate (datetime) --

        The date the replication task was created.

      • ReplicationTaskStartDate (datetime) --

        The date the replication task is scheduled to start.

      • CdcStartPosition (string) --

        Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want the CDC operation to start. Specifying both values results in an error.

        The value can be in date, checkpoint, or LSN/SCN format.

        Date Example: --cdc-start-position “2018-03-08T12:12:12”

        Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

        LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

      • CdcStopPosition (string) --

        Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

        Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

        Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

      • RecoveryCheckpoint (string) --

        Indicates the last checkpoint that occurred during a change data capture (CDC) operation. You can provide this value to the CdcStartPosition parameter to start a CDC operation that begins at that checkpoint.

      • ReplicationTaskArn (string) --

        The Amazon Resource Name (ARN) of the replication task.

      • ReplicationTaskStats (dict) --

        The statistics for the task, including elapsed time, tables loaded, and table errors.

        • FullLoadProgressPercent (integer) --

          The percent complete for the full load migration task.

        • ElapsedTimeMillis (integer) --

          The elapsed time of the task, in milliseconds.

        • TablesLoaded (integer) --

          The number of tables loaded for this task.

        • TablesLoading (integer) --

          The number of tables currently loading for this task.

        • TablesQueued (integer) --

          The number of tables queued for this task.

        • TablesErrored (integer) --

          The number of errors that have occurred during this task.

        • FreshStartDate (datetime) --

          The date the replication task was started either with a fresh start or a target reload.

        • StartDate (datetime) --

          The date the replication task was started either with a fresh start or a resume. For more information, see StartReplicationTaskType.

        • StopDate (datetime) --

          The date the replication task was stopped.

        • FullLoadStartDate (datetime) --

          The date the replication task full load was started.

        • FullLoadFinishDate (datetime) --

          The date the replication task full load was completed.

      • TaskData (string) --

        Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the Database Migration Service User Guide.

      • TargetReplicationInstanceArn (string) --

        The ARN of the replication instance to which this task is moved in response to running the MoveReplicationTask operation. Otherwise, this response parameter isn't a member of the ReplicationTask object.

Exceptions

  • DatabaseMigrationService.Client.exceptions.ResourceNotFoundFault
  • DatabaseMigrationService.Client.exceptions.InvalidResourceStateFault
  • DatabaseMigrationService.Client.exceptions.AccessDeniedFault

Examples

Starts the replication task.

response = client.start_replication_task(
    CdcStartTime=datetime(2016, 12, 14, 13, 33, 20, 2, 349, 0),
    ReplicationTaskArn='arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
    StartReplicationTaskType='start-replication',
)

print(response)

Expected Output:

{
    'ReplicationTask': {
        'MigrationType': 'full-load',
        'ReplicationInstanceArn': 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
        'ReplicationTaskArn': 'arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM',
        'ReplicationTaskCreationDate': datetime(2016, 12, 14, 18, 25, 43, 2, 349, 0),
        'ReplicationTaskIdentifier': 'task1',
        'ReplicationTaskSettings': '{"TargetMetadata":{"TargetSchema":"","SupportLobs":true,"FullLobMode":true,"LobChunkSize":64,"LimitedSizeLobMode":false,"LobMaxSize":0},"FullLoadSettings":{"FullLoadEnabled":true,"ApplyChangesEnabled":false,"TargetTablePrepMode":"DROP_AND_CREATE","CreatePkAfterFullLoad":false,"StopTaskCachedChangesApplied":false,"StopTaskCachedChangesNotApplied":false,"ResumeEnabled":false,"ResumeMinTableSize":100000,"ResumeOnlyClusteredPKTables":true,"MaxFullLoadSubTasks":8,"TransactionConsistencyTimeout":600,"CommitRate":10000},"Logging":{"EnableLogging":false}}',
        'SourceEndpointArn': 'arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
        'Status': 'creating',
        'TableMappings': 'file://mappingfile.json',
        'TargetEndpointArn': 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}