Skip to content

start_replication_task

start_replication_task(
    replication_task_arn: String,
    start_replication_task_type: StartReplicationTaskTypeValue,
    *,
    config_overrides: Optional[DatabaseMigrationServiceClientConfig] = None,
    cdc_start_time: Optional[TStamp] = None,
    cdc_start_position: Optional[String] = None,
    cdc_stop_position: Optional[String] = None,
) -> StartReplicationTaskResponse

Starts the replication task.

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

Parameters:

  • replication_task_arn (String) –

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

  • start_replication_task_type (StartReplicationTaskTypeValue) –

    The type of replication task to start.

    start-replication is the only valid action that can be used for the first time a task with the migration type of full-loadfull-load, full-load-and-cdc or cdc is run. Any other action used for the first time on a given task, such as resume-processing and reload-target will result in data errors.

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

    For a full-load task, the resume-processing option will reload any tables that were partially loaded or not yet loaded 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.

    For a cdc only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.

    resume-processing is only available for previously executed tasks.

  • cdc_start_time (Optional[TStamp], default: None ) –

    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”

  • cdc_start_position (Optional[String], default: None ) –

    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”

    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.

  • cdc_stop_position (Optional[String], default: None ) –

    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“

Raises:

Examples:

Start replication task Starts the replication task.

>>> client.start_replication_task(replication_task_arn='arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ', start_replication_task_type='start-replication', cdc_start_time='2016-12-14T13:33:20Z')
Source code in docs_src/capo_database_migration_service/_services/database_migration_service.py
def start_replication_task(
    self,
    replication_task_arn: "capo_database_migration_service.types.string.String",
    start_replication_task_type: "capo_database_migration_service.types.start_replication_task_type_value.StartReplicationTaskTypeValue",
    *,
    config_overrides: Optional[DatabaseMigrationServiceClientConfig] = None,
    cdc_start_time: Optional[
        "capo_database_migration_service.types.t_stamp.TStamp"
    ] = None,
    cdc_start_position: Optional[
        "capo_database_migration_service.types.string.String"
    ] = None,
    cdc_stop_position: Optional[
        "capo_database_migration_service.types.string.String"
    ] = None,
) -> "capo_database_migration_service.types.start_replication_task_response.StartReplicationTaskResponse":
    """<p>Starts the replication task.</p> <p>For more information about DMS tasks, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working with Migration Tasks </a> in the <i>Database Migration Service User Guide.</i> </p>

    Args:
        replication_task_arn: <p>The Amazon Resource Name (ARN) of the replication task to be started.</p>
        start_replication_task_type: <p>The type of replication task to start.</p> <p> <code>start-replication</code> is the only valid action that can be used for the first time a task with the migration type of <code>full-load</code>full-load, <code>full-load-and-cdc</code> or <code>cdc</code> is run. Any other action used for the first time on a given task, such as <code>resume-processing</code> and reload-target will result in data errors.</p> <p>You can also use <a>ReloadTables</a> to reload specific tables that failed during migration instead of restarting the task.</p> <p>For a <code>full-load</code> task, the resume-processing option will reload any tables that were partially loaded or not yet loaded during the full load phase.</p> <p>For a <code>full-load-and-cdc</code> 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 <code>reload-target</code>. Otherwise use <code>resume-processing</code>, to replicate the changes from the last stop position.</p> <p>For a <code>cdc</code> only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.</p> <note> <p> <code>resume-processing</code> is only available for previously executed tasks.</p> </note>
        cdc_start_time: <p>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.</p> <p>Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”</p>
        cdc_start_position: <p>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.</p> <p> The value can be in date, checkpoint, or LSN/SCN format.</p> <p>Date Example: --cdc-start-position “2018-03-08T12:12:12”</p> <p>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"</p> <p>LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”</p> <note> <p>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 <code>slotName</code> extra connection attribute to the name of this logical replication slot. For more information, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib">Extra Connection Attributes When Using PostgreSQL as a Source for DMS</a>.</p> </note>
        cdc_stop_position: <p>Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.</p> <p>Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”</p> <p>Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“</p>

    Raises:
        capo_database_migration_service.errors.access_denied_fault.AccessDeniedFault: <p>DMS was denied access to the endpoint. Check that the role is correctly configured.</p>
        capo_database_migration_service.errors.invalid_resource_state_fault.InvalidResourceStateFault: <p>The resource is in a state that prevents it from being used for database migration.</p>
        capo_database_migration_service.errors.resource_not_found_fault.ResourceNotFoundFault: <p>The resource could not be found.</p>
        capo_database_migration_service.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Start replication task
        Starts the replication task.

        >>> client.start_replication_task(replication_task_arn='arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ', start_replication_task_type='start-replication', cdc_start_time='2016-12-14T13:33:20Z')
    """

    def _handler(
        req: "OperationRequest[capo_database_migration_service.types.start_replication_task_message.StartReplicationTaskMessage]",
    ) -> OperationResponse[
        "capo_database_migration_service.types.start_replication_task_response.StartReplicationTaskResponse"
    ]:
        import capo_database_migration_service._operations.amazon_dm_sv20160101.start_replication_task

        output, http_response = (
            capo_database_migration_service._operations.amazon_dm_sv20160101.start_replication_task.start_replication_task(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartReplicationTask")
    )
    input_: capo_database_migration_service.types.start_replication_task_message.StartReplicationTaskMessage = {
        "replication_task_arn": replication_task_arn,
        "start_replication_task_type": start_replication_task_type,
    }
    if cdc_start_time is not None:
        input_["cdc_start_time"] = cdc_start_time
    if cdc_start_position is not None:
        input_["cdc_start_position"] = cdc_start_position
    if cdc_stop_position is not None:
        input_["cdc_stop_position"] = cdc_stop_position

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output