ModifyReplicationTask - AWS Database Migration Service

ModifyReplicationTask

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

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", "MigrationType": "string", "ReplicationTaskArn": "string", "ReplicationTaskIdentifier": "string", "ReplicationTaskSettings": "string", "TableMappings": "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: No

ReplicationTaskArn

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

Type: String

Required: Yes

ReplicationTaskIdentifier

The replication task identifier.

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: No

ReplicationTaskSettings

JSON file that contains settings for the task, such as task metadata settings.

Type: String

Required: No

TableMappings

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. For example, --table-mappings file://mappingfile.json. When working with the AWS DMS API, provide the JSON as the parameter value.

Type: String

Required: No

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

Type: ReplicationTask object

Errors

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

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

Examples

Example

This example illustrates one usage of ModifyReplicationTask.

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.ModifyReplicationTask { "ReplicationTaskIdentifier":"task1_modified", "ReplicationTaskArn":"arn:aws:dms:us-east-1:123456789012:task:RZZK4EZW5UANC7Y3P4E776WHBE" }

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:DVBXJQXKZASYWHTCWNL4TNW76D", "ReplicationTaskIdentifier":"task1_modified", "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:RZZK4EZW5UANC7Y3P4E776WHBE", "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: