DatabaseMigrationService / Client / create_replication_task

create_replication_task#

DatabaseMigrationService.Client.create_replication_task(**kwargs)#

Creates a replication task using the specified parameters.

See also: AWS API Documentation

Request Syntax

response = client.create_replication_task(
    ReplicationTaskIdentifier='string',
    SourceEndpointArn='string',
    TargetEndpointArn='string',
    ReplicationInstanceArn='string',
    MigrationType='full-load'|'cdc'|'full-load-and-cdc',
    TableMappings='string',
    ReplicationTaskSettings='string',
    CdcStartTime=datetime(2015, 1, 1),
    CdcStartPosition='string',
    CdcStopPosition='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string',
            'ResourceArn': 'string'
        },
    ],
    TaskData='string',
    ResourceIdentifier='string'
)
Parameters:
  • ReplicationTaskIdentifier (string) –

    [REQUIRED]

    An identifier for the replication task.

    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) –

    [REQUIRED]

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

  • TargetEndpointArn (string) –

    [REQUIRED]

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

  • ReplicationInstanceArn (string) –

    [REQUIRED]

    The Amazon Resource Name (ARN) of a replication instance.

  • MigrationType (string) –

    [REQUIRED]

    The migration type. Valid values: full-load | cdc | full-load-and-cdc

  • TableMappings (string) –

    [REQUIRED]

    The table mappings for the task, in JSON format. For more information, see Using Table Mapping to Specify Task Settings in the Database Migration Service User Guide.

  • ReplicationTaskSettings (string) – Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for Database Migration Service Tasks in the Database Migration Service User Guide.

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

  • Tags (list) –

    One or more tags to be assigned to the replication task.

    • (dict) –

      A user-defined key-value pair that describes metadata added to an DMS resource and that is used by operations such as the following:

      • AddTagsToResource

      • ListTagsForResource

      • RemoveTagsFromResource

      • Key (string) –

        A key is the required name of the tag. The string value can be 1-128 Unicode characters in length and can’t be prefixed with “aws:” or “dms:”. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘/’, ‘=’, ‘+’, ‘-’ (Java regular expressions: “^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$”).

      • Value (string) –

        A value is the optional value of the tag. The string value can be 1-256 Unicode characters in length and can’t be prefixed with “aws:” or “dms:”. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘/’, ‘=’, ‘+’, ‘-’ (Java regular expressions: “^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$”).

      • ResourceArn (string) –

        The Amazon Resource Name (ARN) string that uniquely identifies the resource for which the tag is created.

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

  • ResourceIdentifier (string) – A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen (‘-‘). Also, it can’t end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don’t specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

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

Exceptions

  • DatabaseMigrationService.Client.exceptions.AccessDeniedFault

  • DatabaseMigrationService.Client.exceptions.InvalidResourceStateFault

  • DatabaseMigrationService.Client.exceptions.ResourceAlreadyExistsFault

  • DatabaseMigrationService.Client.exceptions.ResourceNotFoundFault

  • DatabaseMigrationService.Client.exceptions.KMSKeyNotAccessibleFault

  • DatabaseMigrationService.Client.exceptions.ResourceQuotaExceededFault

Examples

Creates a replication task using the specified parameters.

response = client.create_replication_task(
    CdcStartTime=datetime(2016, 12, 14, 18, 25, 43, 2, 349, 0),
    MigrationType='full-load',
    ReplicationInstanceArn='arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
    ReplicationTaskIdentifier='task1',
    ReplicationTaskSettings='',
    SourceEndpointArn='arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
    TableMappings='file://mappingfile.json',
    Tags=[
        {
            'Key': 'Acount',
            'Value': '24352226',
        },
    ],
    TargetEndpointArn='arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
)

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': {
        '...': '...',
    },
}