DatabaseMigrationService / Client / start_replication

start_replication#

DatabaseMigrationService.Client.start_replication(**kwargs)#

For a given DMS Serverless replication configuration, DMS connects to the source endpoint and collects the metadata to analyze the replication workload. Using this metadata, DMS then computes and provisions the required capacity and starts replicating to the target endpoint using the server resources that DMS has provisioned for the DMS Serverless replication.

See also: AWS API Documentation

Request Syntax

response = client.start_replication(
    ReplicationConfigArn='string',
    StartReplicationType='string',
    CdcStartTime=datetime(2015, 1, 1),
    CdcStartPosition='string',
    CdcStopPosition='string'
)
Parameters:
  • ReplicationConfigArn (string) –

    [REQUIRED]

    The Amazon Resource Name of the replication for which to start replication.

  • StartReplicationType (string) –

    [REQUIRED]

    The replication type.

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

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

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

    For a full-load-and-cdc replication, 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.

  • 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.

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

Return type:

dict

Returns:

Response Syntax

{
    'Replication': {
        'ReplicationConfigIdentifier': 'string',
        'ReplicationConfigArn': 'string',
        'SourceEndpointArn': 'string',
        'TargetEndpointArn': 'string',
        'ReplicationType': 'full-load'|'cdc'|'full-load-and-cdc',
        'Status': 'string',
        'ProvisionData': {
            'ProvisionState': 'string',
            'ProvisionedCapacityUnits': 123,
            'DateProvisioned': datetime(2015, 1, 1),
            'IsNewProvisioningAvailable': True|False,
            'DateNewProvisioningDataAvailable': datetime(2015, 1, 1),
            'ReasonForNewProvisioningData': 'string'
        },
        'StopReason': 'string',
        'FailureMessages': [
            'string',
        ],
        'ReplicationStats': {
            '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)
        },
        'StartReplicationType': 'string',
        'CdcStartTime': datetime(2015, 1, 1),
        'CdcStartPosition': 'string',
        'CdcStopPosition': 'string',
        'RecoveryCheckpoint': 'string',
        'ReplicationCreateTime': datetime(2015, 1, 1),
        'ReplicationUpdateTime': datetime(2015, 1, 1),
        'ReplicationLastStopTime': datetime(2015, 1, 1),
        'ReplicationDeprovisionTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) –

    • Replication (dict) –

      The replication that DMS started.

      • ReplicationConfigIdentifier (string) –

        The identifier for the ReplicationConfig associated with the replication.

      • ReplicationConfigArn (string) –

        The Amazon Resource Name for the ReplicationConfig associated with the replication.

      • SourceEndpointArn (string) –

        The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data source.

      • TargetEndpointArn (string) –

        The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data target.

      • ReplicationType (string) –

        The type of the serverless replication.

      • Status (string) –

        The current status of the serverless replication.

      • ProvisionData (dict) –

        Information about provisioning resources for an DMS serverless replication.

        • ProvisionState (string) –

          The current provisioning state

        • ProvisionedCapacityUnits (integer) –

          The number of capacity units the replication is using.

        • DateProvisioned (datetime) –

          The timestamp when DMS provisioned replication resources.

        • IsNewProvisioningAvailable (boolean) –

          Whether the new provisioning is available to the replication.

        • DateNewProvisioningDataAvailable (datetime) –

          The timestamp when provisioning became available.

        • ReasonForNewProvisioningData (string) –

          A message describing the reason that DMS provisioned new resources for the serverless replication.

      • 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"

      • FailureMessages (list) –

        Error and other information about why a serverless replication failed.

        • (string) –

      • ReplicationStats (dict) –

        This object provides a collection of statistics about a serverless replication.

        • FullLoadProgressPercent (integer) –

          The percent complete for the full load serverless replication.

        • ElapsedTimeMillis (integer) –

          The elapsed time of the replication, in milliseconds.

        • TablesLoaded (integer) –

          The number of tables loaded for this replication.

        • TablesLoading (integer) –

          The number of tables currently loading for this replication.

        • TablesQueued (integer) –

          The number of tables queued for this replication.

        • TablesErrored (integer) –

          The number of errors that have occured for this replication.

        • FreshStartDate (datetime) –

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

        • StartDate (datetime) –

          The date the replication is scheduled to start.

        • StopDate (datetime) –

          The date the replication was stopped.

        • FullLoadStartDate (datetime) –

          The date the replication full load was started.

        • FullLoadFinishDate (datetime) –

          The date the replication full load was finished.

      • StartReplicationType (string) –

        The type of replication to start.

      • 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.

      • CdcStartPosition (string) –

        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.

      • CdcStopPosition (string) –

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

      • 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.

      • ReplicationCreateTime (datetime) –

        The time the serverless replication was created.

      • ReplicationUpdateTime (datetime) –

        The time the serverless replication was updated.

      • ReplicationLastStopTime (datetime) –

        The timestamp when replication was last stopped.

      • ReplicationDeprovisionTime (datetime) –

        The timestamp when DMS will deprovision the replication.

Exceptions

  • DatabaseMigrationService.Client.exceptions.ResourceNotFoundFault

  • DatabaseMigrationService.Client.exceptions.InvalidResourceStateFault

  • DatabaseMigrationService.Client.exceptions.AccessDeniedFault