全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
数据传输服务DTS

查看同步作业状态

更新时间:2017-08-18 13:59:27

描述

同步实例处于任何状态,都可以调用这个接口查询同步实例的状态及运行详情。

请求参数

参数名称 数据类型 是否必须 参数说明
Action String 系统默认参数,为这个接口的接口定义,取值为:DescribeSynchronizationJobStatus
SynchronizationJobId String 同步实例ID

返回参数

参数名称 数据类型 参数说明
SynchronizationJobId String 同步实例ID
SynchronizationJobName String 同步实例名称
SynchronizationJobClass String 同步实例规格
PayType String 付费类型
ExpireTime String 到期时间,格式为:YYYY-MM-DDT hh:mm:ssZ,例如:2011-06-09T 12:11:11Z
SourceEndpoint SourceEndpoint 同步实例的源实例连接信息
DestinationEndpoint DestinationEndpoint 同步实例的目标实例连接信息
SynchronizationObjects List 同步对象
StructureInitialization String 是否进行结构初始化
DataInitialization String 是否进行全量数据初始化
Status String 同步实例状态,取值包括:
NotStarted:未启动
Prechecking: 预检查中
PrecheckFailed: 预检查失败
Initializating : 同步初始化
InitializeFailed: 同步初始化失败
Synchronizing : 同步中
Failed: 同步失败
Suspending: 暂停
Modifying: 同步中(同步对象变更中)
Finished: 完成
ErrorMessage String 同步失败原因
PrecheckStatus PrecheckStatus 预检查状态,其中 PrecheckStatus的定义参考 PrecheckStatus 参数定义
StructureInitializationStatus StructureInitializationStatus 结构初始化详情,其中 StructureInitializationStatus的定义参考StructureInitializationStatus参数定义
DataInitializationStatus DataInitializationStatus 全量数据初始化详情,其中 DataInitializationStatus的定义参考DataInitializationStatus参数定义
DataSynchronizationStatus DataSynchronizationStatus 增量初始化详情,其中 DataSynchronizationStatus的定义参考DataSynchronizationStatus参数定义
Delay String 同步延迟,单位为秒
Performance String 同步概况,其中 Performance的定义参考Performance参数定义

PrecheckStatus参数定义

参数名称 数据类型 参数说明
Status String 预检查状态
Percent String 预检查进度,单位为百分比
Detail List 各个预检查项的检查情况
CheckItem的定义详见CheckItem的参数定义

CheckItem的参数定义

参数名称 数据类型 参数说明
ItemName String 检查项名称
CheckStatus String 检查状态,取值包括
NotStarted : 未启动
Checking : 检查中
Failed : 检查失败
Finished : 检查成功
ErrorMessage String 失败原因
RepairMethod String 修复方法

StructureInitializationStatus参数定义

参数名称 数据类型 参数说明
Status String 迁移状态,取值包括:
NotStarted:未启动
Migrating : 迁移中
Failed :迁移失败
Finished: 迁移完成
ErrorMessage String 迁移失败原因
Percent String 迁移进度,单位为百分比
Progress String 已经完成迁移的表数量

DataInitializationStatus参数定义

参数名称 数据类型 参数说明
Status String 迁移状态,取值包括:
NotStarted:未启动
Migrating : 迁移中
Failed :迁移失败
Finished: 迁移完成
ErrorMessage String 迁移失败原因
Percent String 迁移进度,单位为百分比
Progress String 已经完成迁移的表数量

DataSynchronizationStatus参数定义

参数名称 数据类型 参数说明
Status String 迁移状态,取值包括:
NotStarted:未启动
Migrating : 迁移中
Failed :迁移失败
Finished: 迁移完成
ErrorMessage String 迁移失败原因
Percent String 迁移进度,单位为百分比
Delay String 迁移延迟,单位为秒

Performance 参数定义

参数名称 数据类型 参数说明
TPS String 每秒同步的记录数
Flow String 每秒同步的流量,单位为:MB/s

示例

下面简单演示通过JAVA SDK 查询同步任务状态的示例:

  1. public void descSyncJobStatus(String SyncJobId,DefaultAcsClient client) {
  2. DescribeSynchronizationJobStatusRequest request = new DescribeSynchronizationJobStatusRequest();
  3. request.setSynchronizationJobId(SyncJobId);
  4. DescribeSynchronizationJobStatusResponse response = new DescribeSynchronizationJobStatusResponse();
  5. try {
  6. response = client.getAcsResponse(request);
  7. /*Get Sync Configure of the Sync Job*/
  8. System.out.println("SyncJobId:"+response.getSynchronizationJobId()
  9. +"SyncJobName:"+response.getSynchronizationJobName()
  10. +"; PayType:"+response.getPayType()+"; ExpireTime:"+response.getExpireTime()
  11. +"; SyncClass:"+response.getSynchronizationJobClass()
  12. +"; StrucInit:"+response.getStructureInitialization()
  13. +"; DataInit:"+response.getDataInitialization()+"; Status:"+response.getStatus()
  14. +"; Delay:"+response.getDelay()
  15. +"; ErrMSG:"+response.getErrorMessage());
  16. /*Get Sync Objects of the Sync Job*/
  17. System.out.println("Sync Objects:");
  18. List<SynchronizationObject> syncObjects = response.getSynchronizationObjects();
  19. /*Get the Source Endpoint of the synchronization job*/
  20. SourceEndpoint sourceEndpoint = response.getSourceEndpoint();
  21. System.out.println("InstanceType:"+sourceEndpoint.getInstanceType()
  22. +"InstanceId:"+sourceEndpoint.getInstanceId());
  23. /*Get the Destination Endpoint of the synchronization job*/
  24. DestinationEndpoint destinationEndpoint = new DestinationEndpoint();
  25. System.out.println("Instance Type:"+destinationEndpoint.getInstanceType()
  26. +destinationEndpoint.getInstanceId());
  27. // Get Sync Object of the synchronization job
  28. System.out.println("SyncObject:"+org.json.JSONObject.valueToString(syncObjects));
  29. // Get Precheck Status of the synchronization job
  30. try {
  31. com.aliyuncs.dts.model.v20160801.DescribeSynchronizationJobStatusResponse.PrecheckStatus precheckStatus = response.getPrecheckStatus();
  32. System.out.println("Get Precheck Status for Sync Job Succeed");
  33. System.out.println("Precheck Status:"+response.getPrecheckStatus().getStatus()
  34. +"; Precheck Percent:"+response.getPrecheckStatus().getPercent());
  35. List<com.aliyuncs.dts.model.v20160801.DescribeSynchronizationJobStatusResponse.PrecheckStatus.CheckItem> precheckDetails= precheckStatus.getDetail();
  36. for (int i = 0; i < response.getPrecheckStatus().getDetail().size(); i++) {
  37. System.out.println("CheckItem:"+response.getPrecheckStatus().getDetail().get(i).getCheckStatus()
  38. +"; ErrorMSG:"+response.getPrecheckStatus().getDetail().get(i).getErrorMessage()
  39. +"; RepairMethod:"+response.getPrecheckStatus().getDetail().get(i).getRepairMethod());
  40. }
  41. } catch (Exception e) {
  42. // TODO: handle exception
  43. System.out.println("Get Precheck Status for Sync Job Failed");
  44. }
  45. // Get Structure Initialization Status of the synchronization job
  46. try {
  47. System.out.println("Get Structure Initialization Status Succeed!");
  48. System.out.println("Structure Init Status:"+response.getStructureInitializationStatus().getStatus()
  49. +"; Percent:"+response.getStructureInitializationStatus().getPercent()
  50. +"; Progress:"+response.getStructureInitializationStatus().getProgress()
  51. +"; ErrMSG:"+response.getStructureInitializationStatus().getErrorMessage());
  52. } catch (Exception e) {
  53. // TODO: handle exception
  54. System.out.println("Get Structure Init Status Failed!");
  55. }
  56. // Get Data Initialization Status of the synchronization job
  57. try {
  58. System.out.println("Get Data Initialization Status Succeed!");
  59. System.out.println("Data Init Status:"+response.getDataInitializationStatus().getStatus()
  60. +"; Percent:"+response.getDataInitializationStatus().getPercent()
  61. +"; Progress:"+response.getDataInitializationStatus().getProgress()
  62. +"; ErrMSG:"+response.getDataInitializationStatus().getErrorMessage());
  63. } catch (Exception e) {
  64. // TODO: handle exception
  65. System.out.println("Get Data Init Status Failed!");
  66. System.out.println(e.toString());
  67. }
  68. //Get Data Sync Status
  69. try {
  70. com.aliyuncs.dts.model.v20160801.DescribeSynchronizationJobStatusResponse.DataSynchronizationStatus dataSyncStatus = response.getDataSynchronizationStatus();
  71. System.out.println("Get Data Synchronization Status Succeed!");
  72. System.out.println("Data Sync Status:"+response.getDataSynchronizationStatus().getStatus()
  73. +"; Percent:"+response.getDataSynchronizationStatus().getPercent()
  74. +"; Delay:"+response.getDataSynchronizationStatus().getDelay()
  75. +"; ErrMSG:"+response.getDataSynchronizationStatus().getErrorMessage());
  76. } catch (Exception e) {
  77. // TODO: handle exception
  78. System.out.println("Get Data Sync Status Failed!");
  79. System.out.println(e.toString());
  80. }
  81. //Get Performance
  82. System.out.println("TPS:"+response.getPerformance().getRPS()
  83. +"Flow:"+response.getPerformance().getRPS());
  84. } catch (Exception e) {
  85. // TODO: handle exception
  86. System.out.println("Describe Status of Data Sync Job "+ SyncJobId + "Failed");
  87. System.out.println(e.toString());
  88. }
  89. }
本文导读目录