StartReplicationTask - AWS Database Migration Service


Starts the replication task.

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

Request Syntax

{ "CdcStartPosition": "string", "CdcStartTime": number, "CdcStopPosition": "string", "ReplicationTaskArn": "string", "StartReplicationTaskType": "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.


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

Type: String

Required: No


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


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


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

Type: String

Required: Yes


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

Type: String

Valid Values: start-replication | resume-processing | reload-target

Required: Yes

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.


The replication task started.

Type: ReplicationTask object


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


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

HTTP Status Code: 400


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

HTTP Status Code: 400


The resource could not be found.

HTTP Status Code: 400



This example illustrates one usage of StartReplicationTask.

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.StartReplicationTask { "ReplicationTaskArn":"arn:aws:dms:us-east- 1:123456789012:task:RALPZGYI3IUSJCBKKIRBEURKDY", "StartReplicationTaskType":"reload-target", "CdcStartTime":null }

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":"aks145", "ReplicationInstanceArn":"arn:aws:dms:us-east- 1:123456789012:rep:6USOU366XFJUWATDJGBCJS3VIQ", "TableMappings":"{ \n\t\"TableMappings\": [ { \n\t\t\"Type\": \"Include\",\n\t\t \"SourceSchema\": \"testDB\",\n\t\t \"SourceTable\": \"%\" \n\t}, { \n\t\t\"Type\": \"Include\",\n\t\t \"SourceSchema\": \"testDB\",\n\t\t \"SourceTable\": \"%\" \n\t} ]\n}", "ReplicationTaskStartDate":1457658794.056, "Status":"starting", "ReplicationTaskArn":"arn:aws:dms:us-east- 1:123456789012:task:RALPZGYI3IUSJCBKKIRBEURKDY", "ReplicationTaskCreationDate":1449185680.107, "MigrationType":"full-load", "TargetEndpointArn":"arn:aws:dms:us-east- 1:123456789012:endpoint:GVBUJQXJZASXWHTWCLN2WNT57E", "ReplicationTaskSettings":"{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMod e\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\ " FullLoadSettings\":{ \"FullLoadEnabled\":true, \" TargetTablePrepMode\":\"DO_NOTHING\", \"CreatePkAfterFullLoad\":false, \"StopTaskCachedChangesApplied\":false, \"StopTaskCachedChangesNotApplied\":false, \"Re sumeEnabled\":false, \"ResumeMinTableSize\":100000, \"ResumeOnlyClusteredPKTabl es\":true, \"MaxFullLoadSubTasks\":8, \"TransactionConsistencyTimeout\":600, \"C ommitRate\":10000 } } " } }

See Also

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