/AWS1/CL_DMG=>STARTREPLICATIONTASK()
¶
About StartReplicationTask¶
Starts the replication task.
For more information about DMS tasks, see Working with Migration Tasks in the Database Migration Service User Guide.
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_replicationtaskarn
TYPE /AWS1/DMGSTRING
/AWS1/DMGSTRING
¶
The Amazon Resource Name (ARN) of the replication task to be started.
iv_startreplicationtasktype
TYPE /AWS1/DMGSTRTREPLTASKTYPEVALUE
/AWS1/DMGSTRTREPLTASKTYPEVALUE
¶
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 offull-load
full-load,full-load-and-cdc
orcdc
is run. Any other action used for the first time on a given task, such asresume-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, usereload-target
. Otherwise useresume-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.
resume-processing
is only available for previously executed tasks.
Optional arguments:¶
iv_cdcstarttime
TYPE /AWS1/DMGTSTAMP
/AWS1/DMGTSTAMP
¶
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”
iv_cdcstartposition
TYPE /AWS1/DMGSTRING
/AWS1/DMGSTRING
¶
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”
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.
iv_cdcstopposition
TYPE /AWS1/DMGSTRING
/AWS1/DMGSTRING
¶
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“
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_dmgstartrepltaskrsp
/AWS1/CL_DMGSTARTREPLTASKRSP
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->/aws1/if_dmg~startreplicationtask(
iv_cdcstartposition = |string|
iv_cdcstarttime = '20150101000000.0000000'
iv_cdcstopposition = |string|
iv_replicationtaskarn = |string|
iv_startreplicationtasktype = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_replicationtask = lo_result->get_replicationtask( ).
IF lo_replicationtask IS NOT INITIAL.
lv_string = lo_replicationtask->get_repltaskidentifier( ).
lv_string = lo_replicationtask->get_sourceendpointarn( ).
lv_string = lo_replicationtask->get_targetendpointarn( ).
lv_string = lo_replicationtask->get_replicationinstancearn( ).
lv_migrationtypevalue = lo_replicationtask->get_migrationtype( ).
lv_string = lo_replicationtask->get_tablemappings( ).
lv_string = lo_replicationtask->get_replicationtasksettings( ).
lv_string = lo_replicationtask->get_status( ).
lv_string = lo_replicationtask->get_lastfailuremessage( ).
lv_string = lo_replicationtask->get_stopreason( ).
lv_tstamp = lo_replicationtask->get_repltaskcreationdate( ).
lv_tstamp = lo_replicationtask->get_replicationtaskstartdate( ).
lv_string = lo_replicationtask->get_cdcstartposition( ).
lv_string = lo_replicationtask->get_cdcstopposition( ).
lv_string = lo_replicationtask->get_recoverycheckpoint( ).
lv_string = lo_replicationtask->get_replicationtaskarn( ).
lo_replicationtaskstats = lo_replicationtask->get_replicationtaskstats( ).
IF lo_replicationtaskstats IS NOT INITIAL.
lv_integer = lo_replicationtaskstats->get_fullloadprogresspercent( ).
lv_long = lo_replicationtaskstats->get_elapsedtimemillis( ).
lv_integer = lo_replicationtaskstats->get_tablesloaded( ).
lv_integer = lo_replicationtaskstats->get_tablesloading( ).
lv_integer = lo_replicationtaskstats->get_tablesqueued( ).
lv_integer = lo_replicationtaskstats->get_tableserrored( ).
lv_tstamp = lo_replicationtaskstats->get_freshstartdate( ).
lv_tstamp = lo_replicationtaskstats->get_startdate( ).
lv_tstamp = lo_replicationtaskstats->get_stopdate( ).
lv_tstamp = lo_replicationtaskstats->get_fullloadstartdate( ).
lv_tstamp = lo_replicationtaskstats->get_fullloadfinishdate( ).
ENDIF.
lv_string = lo_replicationtask->get_taskdata( ).
lv_string = lo_replicationtask->get_targetreplinstancearn( ).
ENDIF.
ENDIF.
Start replication task¶
Starts the replication task.
DATA(lo_result) = lo_client->/aws1/if_dmg~startreplicationtask(
iv_cdcstarttime = '20161214133320.0000000'
iv_replicationtaskarn = |arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ|
iv_startreplicationtasktype = |start-replication|
).