createReplicationTask method
- required MigrationTypeValue migrationType,
- required String replicationInstanceArn,
- required String replicationTaskIdentifier,
- required String sourceEndpointArn,
- required String tableMappings,
- required String targetEndpointArn,
- String? cdcStartPosition,
- DateTime? cdcStartTime,
- String? cdcStopPosition,
- String? replicationTaskSettings,
- String? resourceIdentifier,
- List<
Tag> ? tags, - String? taskData,
Creates a replication task using the specified parameters.
May throw AccessDeniedFault. May throw InvalidResourceStateFault. May throw ResourceAlreadyExistsFault. May throw ResourceNotFoundFault. May throw KMSKeyNotAccessibleFault. May throw ResourceQuotaExceededFault.
Parameter migrationType
:
The migration type. Valid values: full-load
|
cdc
| full-load-and-cdc
Parameter replicationInstanceArn
:
The Amazon Resource Name (ARN) of a replication instance.
Parameter 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.
Parameter sourceEndpointArn
:
An Amazon Resource Name (ARN) that uniquely identifies the source
endpoint.
Parameter 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.
Parameter targetEndpointArn
:
An Amazon Resource Name (ARN) that uniquely identifies the target
endpoint.
Parameter 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”
Parameter 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”
Parameter 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 “
Parameter 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 User Guide.
Parameter resourceIdentifier
:
A friendly 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
.
Parameter tags
:
One or more tags to be assigned to the replication task.
Parameter 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.
Implementation
Future<CreateReplicationTaskResponse> createReplicationTask({
required MigrationTypeValue migrationType,
required String replicationInstanceArn,
required String replicationTaskIdentifier,
required String sourceEndpointArn,
required String tableMappings,
required String targetEndpointArn,
String? cdcStartPosition,
DateTime? cdcStartTime,
String? cdcStopPosition,
String? replicationTaskSettings,
String? resourceIdentifier,
List<Tag>? tags,
String? taskData,
}) async {
ArgumentError.checkNotNull(migrationType, 'migrationType');
ArgumentError.checkNotNull(
replicationInstanceArn, 'replicationInstanceArn');
ArgumentError.checkNotNull(
replicationTaskIdentifier, 'replicationTaskIdentifier');
ArgumentError.checkNotNull(sourceEndpointArn, 'sourceEndpointArn');
ArgumentError.checkNotNull(tableMappings, 'tableMappings');
ArgumentError.checkNotNull(targetEndpointArn, 'targetEndpointArn');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonDMSv20160101.CreateReplicationTask'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'MigrationType': migrationType.toValue(),
'ReplicationInstanceArn': replicationInstanceArn,
'ReplicationTaskIdentifier': replicationTaskIdentifier,
'SourceEndpointArn': sourceEndpointArn,
'TableMappings': tableMappings,
'TargetEndpointArn': targetEndpointArn,
if (cdcStartPosition != null) 'CdcStartPosition': cdcStartPosition,
if (cdcStartTime != null)
'CdcStartTime': unixTimestampToJson(cdcStartTime),
if (cdcStopPosition != null) 'CdcStopPosition': cdcStopPosition,
if (replicationTaskSettings != null)
'ReplicationTaskSettings': replicationTaskSettings,
if (resourceIdentifier != null)
'ResourceIdentifier': resourceIdentifier,
if (tags != null) 'Tags': tags,
if (taskData != null) 'TaskData': taskData,
},
);
return CreateReplicationTaskResponse.fromJson(jsonResponse.body);
}