DatabaseMigrationService.Client.
create_replication_task
(**kwargs)¶Creates a replication task using the specified parameters.
See also: AWS API Documentation
Request Syntax
response = client.create_replication_task(
ReplicationTaskIdentifier='string',
SourceEndpointArn='string',
TargetEndpointArn='string',
ReplicationInstanceArn='string',
MigrationType='full-load'|'cdc'|'full-load-and-cdc',
TableMappings='string',
ReplicationTaskSettings='string',
CdcStartTime=datetime(2015, 1, 1),
CdcStartPosition='string',
CdcStopPosition='string',
Tags=[
{
'Key': 'string',
'Value': 'string',
'ResourceArn': 'string'
},
],
TaskData='string',
ResourceIdentifier='string'
)
[REQUIRED]
An identifier for the replication task.
Constraints:
[REQUIRED]
An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.
[REQUIRED]
An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.
[REQUIRED]
The Amazon Resource Name (ARN) of a replication instance.
[REQUIRED]
The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
[REQUIRED]
The table mappings for the task, in JSON format. For more information, see Using Table Mapping to Specify Task Settings in the Database Migration Service User Guide.
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”
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 DMS.
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“
One or more tags to be assigned to the replication task.
A user-defined key-value pair that describes metadata added to an DMS resource and that is used by operations such as the following:
AddTagsToResource
ListTagsForResource
RemoveTagsFromResource
A key is the required name of the tag. The string value can be 1-128 Unicode characters in length and can't be prefixed with "aws:" or "dms:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regular expressions: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
A value is the optional value of the tag. The string value can be 1-256 Unicode characters in length and can't be prefixed with "aws:" or "dms:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regular expressions: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
The Amazon Resource Name (ARN) string that uniquely identifies the resource for which the tag is created.
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, DMS generates a default identifier value for the end of EndpointArn
.dict
Response Syntax
{
'ReplicationTask': {
'ReplicationTaskIdentifier': 'string',
'SourceEndpointArn': 'string',
'TargetEndpointArn': 'string',
'ReplicationInstanceArn': 'string',
'MigrationType': 'full-load'|'cdc'|'full-load-and-cdc',
'TableMappings': 'string',
'ReplicationTaskSettings': 'string',
'Status': 'string',
'LastFailureMessage': 'string',
'StopReason': 'string',
'ReplicationTaskCreationDate': datetime(2015, 1, 1),
'ReplicationTaskStartDate': datetime(2015, 1, 1),
'CdcStartPosition': 'string',
'CdcStopPosition': 'string',
'RecoveryCheckpoint': 'string',
'ReplicationTaskArn': 'string',
'ReplicationTaskStats': {
'FullLoadProgressPercent': 123,
'ElapsedTimeMillis': 123,
'TablesLoaded': 123,
'TablesLoading': 123,
'TablesQueued': 123,
'TablesErrored': 123,
'FreshStartDate': datetime(2015, 1, 1),
'StartDate': datetime(2015, 1, 1),
'StopDate': datetime(2015, 1, 1),
'FullLoadStartDate': datetime(2015, 1, 1),
'FullLoadFinishDate': datetime(2015, 1, 1)
},
'TaskData': 'string',
'TargetReplicationInstanceArn': 'string'
}
}
Response Structure
(dict) --
ReplicationTask (dict) --
The replication task that was created.
ReplicationTaskIdentifier (string) --
The user-assigned replication task identifier or name.
Constraints:
SourceEndpointArn (string) --
The Amazon Resource Name (ARN) that uniquely identifies the endpoint.
TargetEndpointArn (string) --
The ARN that uniquely identifies the endpoint.
ReplicationInstanceArn (string) --
The ARN of the replication instance.
MigrationType (string) --
The type of migration.
TableMappings (string) --
Table mappings specified in the task.
ReplicationTaskSettings (string) --
The settings for the replication task.
Status (string) --
The status of the replication task. This response parameter can return one of the following values:
"moving"
– The task is being moved in response to running the MoveReplicationTask operation."creating"
– The task is being created in response to running the CreateReplicationTask operation."deleting"
– The task is being deleted in response to running the DeleteReplicationTask operation."failed"
– The task failed to successfully complete the database migration in response to running the StartReplicationTask operation."failed-move"
– The task failed to move in response to running the MoveReplicationTask operation."modifying"
– The task definition is being modified in response to running the ModifyReplicationTask operation."ready"
– The task is in a ready
state where it can respond to other task operations, such as StartReplicationTask or DeleteReplicationTask."running"
– The task is performing a database migration in response to running the StartReplicationTask operation."starting"
– The task is preparing to perform a database migration in response to running the StartReplicationTask operation."stopped"
– The task has stopped in response to running the StopReplicationTask operation."stopping"
– The task is preparing to stop in response to running the StopReplicationTask operation."testing"
– The database migration specified for this task is being tested in response to running either the StartReplicationTaskAssessmentRun or the StartReplicationTaskAssessment operation.Note
StartReplicationTaskAssessmentRun is an improved premigration task assessment operation. The StartReplicationTaskAssessment operation assesses data type compatibility only between the source and target database of a given migration task. In contrast, StartReplicationTaskAssessmentRun enables you to specify a variety of premigration task assessments in addition to data type compatibility. These assessments include ones for the validity of primary key definitions and likely issues with database migration performance, among others.
LastFailureMessage (string) --
The last error (failure) message generated for the replication task.
StopReason (string) --
The reason the replication task was stopped. This response parameter can return one of the following values:
"Stop Reason NORMAL"
"Stop Reason RECOVERABLE_ERROR"
"Stop Reason FATAL_ERROR"
"Stop Reason FULL_LOAD_ONLY_FINISHED"
"Stop Reason STOPPED_AFTER_FULL_LOAD"
– Full load completed, with cached changes not applied"Stop Reason STOPPED_AFTER_CACHED_EVENTS"
– Full load completed, with cached changes applied"Stop Reason EXPRESS_LICENSE_LIMITS_REACHED"
"Stop Reason STOPPED_AFTER_DDL_APPLY"
– User-defined stop task after DDL applied"Stop Reason STOPPED_DUE_TO_LOW_MEMORY"
"Stop Reason STOPPED_DUE_TO_LOW_DISK"
"Stop Reason STOPPED_AT_SERVER_TIME"
– User-defined server time for stopping task"Stop Reason STOPPED_AT_COMMIT_TIME"
– User-defined commit time for stopping task"Stop Reason RECONFIGURATION_RESTART"
"Stop Reason RECYCLE_TASK"
ReplicationTaskCreationDate (datetime) --
The date the replication task was created.
ReplicationTaskStartDate (datetime) --
The date the replication task is scheduled to start.
CdcStartPosition (string) --
Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition
or CdcStartTime
to specify when you want the 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”
CdcStopPosition (string) --
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“
RecoveryCheckpoint (string) --
Indicates the last checkpoint that occurred during a change data capture (CDC) operation. You can provide this value to the CdcStartPosition
parameter to start a CDC operation that begins at that checkpoint.
ReplicationTaskArn (string) --
The Amazon Resource Name (ARN) of the replication task.
ReplicationTaskStats (dict) --
The statistics for the task, including elapsed time, tables loaded, and table errors.
FullLoadProgressPercent (integer) --
The percent complete for the full load migration task.
ElapsedTimeMillis (integer) --
The elapsed time of the task, in milliseconds.
TablesLoaded (integer) --
The number of tables loaded for this task.
TablesLoading (integer) --
The number of tables currently loading for this task.
TablesQueued (integer) --
The number of tables queued for this task.
TablesErrored (integer) --
The number of errors that have occurred during this task.
FreshStartDate (datetime) --
The date the replication task was started either with a fresh start or a target reload.
StartDate (datetime) --
The date the replication task was started either with a fresh start or a resume. For more information, see StartReplicationTaskType.
StopDate (datetime) --
The date the replication task was stopped.
FullLoadStartDate (datetime) --
The date the replication task full load was started.
FullLoadFinishDate (datetime) --
The date the replication task full load was completed.
TaskData (string) --
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 Database Migration Service User Guide.
TargetReplicationInstanceArn (string) --
The ARN of the replication instance to which this task is moved in response to running the MoveReplicationTask operation. Otherwise, this response parameter isn't a member of the ReplicationTask
object.
Exceptions
DatabaseMigrationService.Client.exceptions.AccessDeniedFault
DatabaseMigrationService.Client.exceptions.InvalidResourceStateFault
DatabaseMigrationService.Client.exceptions.ResourceAlreadyExistsFault
DatabaseMigrationService.Client.exceptions.ResourceNotFoundFault
DatabaseMigrationService.Client.exceptions.KMSKeyNotAccessibleFault
DatabaseMigrationService.Client.exceptions.ResourceQuotaExceededFault
Examples
Creates a replication task using the specified parameters.
response = client.create_replication_task(
CdcStartTime=datetime(2016, 12, 14, 18, 25, 43, 2, 349, 0),
MigrationType='full-load',
ReplicationInstanceArn='arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
ReplicationTaskIdentifier='task1',
ReplicationTaskSettings='',
SourceEndpointArn='arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
TableMappings='file://mappingfile.json',
Tags=[
{
'Key': 'Acount',
'Value': '24352226',
},
],
TargetEndpointArn='arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
)
print(response)
Expected Output:
{
'ReplicationTask': {
'MigrationType': 'full-load',
'ReplicationInstanceArn': 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
'ReplicationTaskArn': 'arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM',
'ReplicationTaskCreationDate': datetime(2016, 12, 14, 18, 25, 43, 2, 349, 0),
'ReplicationTaskIdentifier': 'task1',
'ReplicationTaskSettings': '{"TargetMetadata":{"TargetSchema":"","SupportLobs":true,"FullLobMode":true,"LobChunkSize":64,"LimitedSizeLobMode":false,"LobMaxSize":0},"FullLoadSettings":{"FullLoadEnabled":true,"ApplyChangesEnabled":false,"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}}',
'SourceEndpointArn': 'arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
'Status': 'creating',
'TableMappings': 'file://mappingfile.json',
'TargetEndpointArn': 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
},
'ResponseMetadata': {
'...': '...',
},
}