StartReplicationTask
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.
- 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
- ReplicationTaskArn
-
The Amazon Resource Name (ARN) of the replication task to be started.
Type: String
Required: Yes
- StartReplicationTaskType
-
The type of replication task to start.
When the migration type is
full-load
orfull-load-and-cdc
, the only valid value for the first run of the task isstart-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, usereload-target
. Otherwise useresume-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.
- ReplicationTask
-
The replication task started.
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
- ResourceNotFoundFault
-
The resource could not be found.
HTTP Status Code: 400
Examples
Example
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: