AWS::DMS::ReplicationTask
The AWS::DMS::ReplicationTask
resource creates an AWS DMS replication task.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::DMS::ReplicationTask", "Properties" : { "CdcStartPosition" :
String
, "CdcStartTime" :Number
, "CdcStopPosition" :String
, "MigrationType" :String
, "ReplicationInstanceArn" :String
, "ReplicationTaskIdentifier" :String
, "ReplicationTaskSettings" :String
, "ResourceIdentifier" :String
, "SourceEndpointArn" :String
, "TableMappings" :String
, "Tags" :[ Tag, ... ]
, "TargetEndpointArn" :String
, "TaskData" :String
} }
YAML
Type: AWS::DMS::ReplicationTask Properties: CdcStartPosition:
String
CdcStartTime:Number
CdcStopPosition:String
MigrationType:String
ReplicationInstanceArn:String
ReplicationTaskIdentifier:String
ReplicationTaskSettings:String
ResourceIdentifier:String
SourceEndpointArn:String
TableMappings:String
Tags:- Tag
TargetEndpointArn:String
TaskData:String
Properties
CdcStartPosition
-
Indicates when you want a change data capture (CDC) operation to start. Use either
CdcStartPosition
orCdcStartTime
to specify when you want a CDC operation to start. Specifying both values results in an error.The value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.
Here is a date example:
--cdc-start-position "2018-03-08T12:12:12"
Here is a 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"
Here is an 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 in the AWS Database Migration Service User Guide.Required: No
Type: String
Update requires: No interruption
CdcStartTime
-
Indicates the start time for a change data capture (CDC) operation.
Required: No
Type: Number
Update requires: No interruption
CdcStopPosition
-
Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.
Here is a server time example:
--cdc-stop-position "server_time:2018-02-09T12:12:12"
Here is a commit time example:
--cdc-stop-position "commit_time: 2018-02-09T12:12:12"
Required: No
Type: String
Update requires: No interruption
MigrationType
-
The migration type. Valid values:
full-load
|cdc
|full-load-and-cdc
Required: Yes
Type: String
Allowed values:
full-load | cdc | full-load-and-cdc
Update requires: No interruption
ReplicationInstanceArn
-
The Amazon Resource Name (ARN) of a replication instance.
Required: Yes
Type: String
Update requires: Replacement
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.
Required: No
Type: String
Update requires: No interruption
-
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.
Required: No
Type: String
Update requires: No interruption
ResourceIdentifier
-
A display 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 the
EndpointArn
valuearn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1
. If you don't specify aResourceIdentifier
value, AWS DMS generates a default identifier value for the end ofEndpointArn
.Required: No
Type: String
Update requires: Replacement
SourceEndpointArn
-
An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.
Required: Yes
Type: String
Update requires: Replacement
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.
Required: Yes
Type: String
Update requires: No interruption
-
One or more tags to be assigned to the replication task.
Required: No
Type: Array of Tag
Update requires: No interruption
TargetEndpointArn
-
An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.
Required: Yes
Type: String
Update requires: Replacement
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.
Required: No
Type: String
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the replication task ARN.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
Examples
Create a replication task
The following example creates a replication task with a selection rule and action. For more information about selection rules, see Selection rules and actions.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "myReplicationTask": { "Type": "AWS::DMS::ReplicationTask", "Properties": { "SourceEndpointArn": 11, "TargetEndpointArn": "12ff", "ReplicationInstanceArn": "ert1", "MigrationType": "full-load", "TableMappings": "{ \"rules\": [ { \"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": { \"schema-name\": \"%\", \"table-name\": \"%\" }, \"rule-action\": \"include\" } ] }" } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: myReplicationTask: Properties: MigrationType: full-load ReplicationInstanceArn: ReplicationInstance SourceEndpointArn: SourceEndpoint TableMappings: "{ \"rules\": [ { \"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": { \"schema-name\": \"%\", \"table-name\": \"%\" }, \"rule-action\": \"include\" } ] }" TargetEndpointArn: TargetEndpoint Type: "AWS::DMS::ReplicationTask"
Create a replication task with full load task settings
The following example creates a replication task with a selection rule and full-load task settings. For more information about full-load task settings, see Full-load task settings.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "myReplicationTask": { "Type": "AWS::DMS::ReplicationTask", "Properties": { "SourceEndpointArn": "arn:aws:dms:eu-west-1:123456789012:endpoint:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "TargetEndpointArn": "arn:aws:dms:eu-west-1:123456789012:endpoint:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "ReplicationInstanceArn": "arn:aws:dms:eu-west-1:123456789012:rep:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC", "MigrationType": "full-load", "TableMappings": "{ \"rules\": [ { \"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": { \"schema-name\": \"%\", \"table-name\": \"%\" }, \"rule-action\": \"include\" } ] }", "ReplicationTaskSettings": "{ \"FullLoadSettings\": { \"CommitRate\": 9000, \"TargetTablePrepMode\": \"DROP_AND_CREATE\", \"CreatePkAfterFullLoad\": true }, \"BeforeImageSettings\": null, \"ControlTablesSettings\": { \"historyTimeslotInMinutes\": 5, \"HistoryTimeslotInMinutes\": 5}}" } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: myReplicationTask: Properties: MigrationType: full-load ReplicationInstanceArn: arn:aws:dms:eu-west-1:123456789012:rep:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SourceEndpointArn: arn:aws:dms:eu-west-1:123456789012:endpoint:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" TableMappings: "{ \"rules\": [ { \"rule-type\": \"selection\", \"rule-id\": \"1\", \"rule-name\": \"1\", \"object-locator\": { \"schema-name\": \"%\", \"table-name\": \"%\" }, \"rule-action\": \"include\" } ] }" ReplicationTaskSettings: "{ \"FullLoadSettings\": { \"CommitRate\": 9000, \"TargetTablePrepMode\": \"DROP_AND_CREATE\", \"CreatePkAfterFullLoad\": true }, \"BeforeImageSettings\": null, \"ControlTablesSettings\": { \"historyTimeslotInMinutes\": 5, \"HistoryTimeslotInMinutes\": 5}}" TargetEndpointArn: arn:aws:dms:eu-west-1:123456789012:endpoint:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Type: "AWS::DMS::ReplicationTask"
See also
-
CreateReplicationTask in the AWS Database Migration Service API Reference