AWS::DMS::ReplicationTask - AWS CloudFormation

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 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, 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 created Endpoint 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 as Example-App-ARN1.

For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.

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

Tags

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