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 Amazon 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 Amazon Database Migration Service Tasks in the Amazon 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 createdEndpoint
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 asExample-App-ARN1
. For example, this value might result in theEndpointArn
valuearn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1
. If you don't specify aResourceIdentifier
value, Amazon DMS generates a default identifier value for the end ofEndpointArn
.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 Amazon 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 Amazon 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
-
Amazon 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
-
Amazon 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 Amazon SDKs, see the following: