CreateReplicationTask - AWS Database Migration Service

CreateReplicationTask

Creates a replication task using the specified parameters.

Request Syntax

{ "CdcStartPosition": "string", "CdcStartTime": number, "CdcStopPosition": "string", "MigrationType": "string", "ReplicationInstanceArn": "string", "ReplicationTaskIdentifier": "string", "ReplicationTaskSettings": "string", "ResourceIdentifier": "string", "SourceEndpointArn": "string", "TableMappings": "string", "Tags": [ { "Key": "string", "ResourceArn": "string", "Value": "string" } ], "TargetEndpointArn": "string", "TaskData": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

CdcStartPosition

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 AWS DMS.

Type: String

Required: No

CdcStartTime

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”

Type: Timestamp

Required: No

CdcStopPosition

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“

Type: String

Required: No

MigrationType

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

Type: String

Valid Values: full-load | cdc | full-load-and-cdc

Required: Yes

ReplicationInstanceArn

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

Type: String

Required: Yes

ReplicationTaskIdentifier

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.

Type: String

Required: Yes

ReplicationTaskSettings

Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration Service User Guide.

Type: String

Required: No

ResourceIdentifier

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, AWS DMS generates a default identifier value for the end of EndpointArn.

Type: String

Required: No

SourceEndpointArn

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

Type: String

Required: Yes

TableMappings

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

Type: String

Required: Yes

Tags

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

Type: Array of Tag objects

Required: No

TargetEndpointArn

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

Type: String

Required: Yes

TaskData

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 AWS Database Migration Service User Guide.

Type: String

Required: No

Response Syntax

{ "ReplicationTask": { "CdcStartPosition": "string", "CdcStopPosition": "string", "LastFailureMessage": "string", "MigrationType": "string", "RecoveryCheckpoint": "string", "ReplicationInstanceArn": "string", "ReplicationTaskArn": "string", "ReplicationTaskCreationDate": number, "ReplicationTaskIdentifier": "string", "ReplicationTaskSettings": "string", "ReplicationTaskStartDate": number, "ReplicationTaskStats": { "ElapsedTimeMillis": number, "FreshStartDate": number, "FullLoadFinishDate": number, "FullLoadProgressPercent": number, "FullLoadStartDate": number, "StartDate": number, "StopDate": number, "TablesErrored": number, "TablesLoaded": number, "TablesLoading": number, "TablesQueued": number }, "SourceEndpointArn": "string", "Status": "string", "StopReason": "string", "TableMappings": "string", "TargetEndpointArn": "string", "TargetReplicationInstanceArn": "string", "TaskData": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ReplicationTask

The replication task that was created.

Type: ReplicationTask object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedFault

AWS DMS was denied access to the endpoint. Check that the role is correctly configured.

HTTP Status Code: 400

InvalidResourceStateFault

The resource is in a state that prevents it from being used for database migration.

HTTP Status Code: 400

KMSKeyNotAccessibleFault

AWS DMS cannot access the KMS key.

HTTP Status Code: 400

ResourceAlreadyExistsFault

The resource you are attempting to create already exists.

HTTP Status Code: 400

ResourceNotFoundFault

The resource could not be found.

HTTP Status Code: 400

ResourceQuotaExceededFault

The quota for this resource quota has been exceeded.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of CreateReplicationTask.

Sample Request

POST / HTTP/1.1 Host: dms.<region>.<domain> x-amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Connection: Keep-Alive X-Amz-Target: AmazonDMSv20160101.CreateReplicationTask { "ReplicationTaskIdentifier":"task1", "SourceEndpointArn":"arn:aws:dms:us-east-1: 123456789012:endpoint:RZZK4EZW5UANC7Y3P4E776WHBE", "TargetEndpointArn":"arn:aws:dms:us-east-1: 123456789012:endpoint:GVBUJQXJZASXWHTWCLN2WNT57E", "ReplicationInstanceArn":"arn:aws:dms:us-east-1: 123456789012:rep:6USOU366XFJUWATDJGBCJS3VIQ", "MigrationType":"full-load", "TableMappings":"file:////home/apurvap/table-mappings.json", "ReplicationTaskSettings":"", "CdcStartTime":null, "Tags":[ { "Key":"", "Value":"" } ] }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Date: <Date> { "ReplicationTask":{ "SourceEndpointArn":"arn:aws:dms:us-east-1: 123456789012:endpoint:RZZK4EZW5UANC7Y3P4E776WHBE", "ReplicationTaskIdentifier":"task1", "ReplicationInstanceArn":"arn:aws:dms:us-east-1: 123456789012:rep:6USOU366XFJUWATDJGBCJS3VIQ", "TableMappings":"{\n \"TableMappings\": [\n {\n \"Type\": \"Include\",\n \"SourceSchema\": \"/\", \n \"SourceTable\": \"/ \"\n }\n ]\n }\n\n", "Status":"creating", "ReplicationTaskArn":"arn:aws:dms:us-east-1: 123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", "ReplicationTaskCreationDate":1457658407.492, "MigrationType":"full-load", "TargetEndpointArn":"arn:aws:dms:us-east-1: 123456789012:endpoint:GVBUJQXJZASXWHTWCLN2WNT57E", "ReplicationTaskSettings":"{\"TargetMetadata\": {\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\": true,\"LobChunkSize\":64,\"LimitedSizeLobMode\": false,\"LobMaxSize\":0},\"FullLoadSettings\":{ \"FullLoadEnabled\":true, \"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 } }" } }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: