startReplicationTask method
Starts the replication task.
For more information about DMS tasks, see Working with Migration Tasks in the Database Migration Service User Guide.
May throw AccessDeniedFault.
May throw InvalidResourceStateFault.
May throw ResourceNotFoundFault.
Parameter replicationTaskArn :
The Amazon Resource Name (ARN) of the replication task to be started.
Parameter startReplicationTaskType :
The type of replication task to start.
start-replication is the only valid action that can be used
for the first time a task with the migration type of
full-loadfull-load, full-load-and-cdc or
cdc is run. Any other action used for the first time on a
given task, such as resume-processing and reload-target will
result in data errors.
You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.
For a full-load task, the resume-processing option will
reload any tables that were partially loaded or not yet loaded during the
full load phase.
For a full-load-and-cdc task, DMS migrates table data, and
then applies data changes that occur on the source. To load all the tables
again, and start capturing source changes, use reload-target.
Otherwise use resume-processing, to replicate the changes
from the last stop position.
For a cdc only task, to start from a specific position, you
must use start-replication and also specify the start position. Check the
source endpoint DMS documentation for any limitations. For example, not
all sources support starting from a time.
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“
Implementation
Future<StartReplicationTaskResponse> startReplicationTask({
required String replicationTaskArn,
required StartReplicationTaskTypeValue startReplicationTaskType,
String? cdcStartPosition,
DateTime? cdcStartTime,
String? cdcStopPosition,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonDMSv20160101.StartReplicationTask'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ReplicationTaskArn': replicationTaskArn,
'StartReplicationTaskType': startReplicationTaskType.value,
if (cdcStartPosition != null) 'CdcStartPosition': cdcStartPosition,
if (cdcStartTime != null)
'CdcStartTime': unixTimestampToJson(cdcStartTime),
if (cdcStopPosition != null) 'CdcStopPosition': cdcStopPosition,
},
);
return StartReplicationTaskResponse.fromJson(jsonResponse.body);
}