通过这个接口可以查询调用账号下所有同步作业的状态及同步详情。
参数名称 | 数据类型 | 是否必须 | 参数说明 |
---|---|---|---|
Action | String | 是 | 系统默认参数,这个接口的接口定义,取值为:DescribeSynchronizationJobs。 |
PageSize | Integer | 否 | 每页记录数,取值:30/50/100默认值:30。 |
PageNum | Integer | 否 | 页码,大于0,且不超过Integer的最大值,默认值:1。 |
SynchronizationJobName | String | 否 | 同步作业名称,传入本参数后,DTS将在调用结果中返回包含该名称的同步作业。 |
ClientToken | String | 否 | 用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。 |
AccountId | String | 否 | 阿里云账号ID。 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
PageNumber | Integer | 页码 |
RequestId | String | 请求ID |
TotalRecordCount | Integer | 总实例数 |
PageRecordCount | Integer | 本页同步实例数 |
SynchronizationInstances | List |
同步作业状态,其中 SynchronizationInstance的定义参考SynchronizationInstance参数定义 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
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:预检查失败 Initializing:同步初始化 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参数定义 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
Status | String | 预检查状态 |
Percent | String | 预检查进度,单位为百分比 |
Detail | List |
各个预检查项的检查情况 CheckItem的定义详见CheckItem的参数定义 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
ItemName | String | 检查项名称 |
CheckStatus | String | 检查状态,取值包括 NotStarted:未启动 Checking:检查中 Failed:检查失败 Finished:检查成功 |
ErrorMessage | String | 失败原因 |
RepairMethod | String | 修复方法 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
Status | String | 迁移状态,取值包括: NotStarted:未启动 Migrating :迁移中 Failed :迁移失败 Finished:迁移完成 |
ErrorMessage | String | 迁移失败原因 |
Percent | String | 迁移进度,单位为百分比 |
Progress | String | 已经完成迁移的表数量 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
Status | String | 迁移状态,取值包括: NotStarted:未启动 Migrating :迁移中 Failed :迁移失败 Finished:迁移完成 |
ErrorMessage | String | 迁移失败原因 |
Percent | String | 迁移进度,单位为百分比 |
Progress | String | 已经完成迁移的表数量 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
Status | String | 迁移状态,取值包括: NotStarted:未启动 Migrating :迁移中 Failed :迁移失败 Finished:迁移完成 |
ErrorMessage | String | 迁移失败原因 |
Percent | String | 迁移进度,单位为百分比 |
Delay | String | 迁移延迟,单位为秒 |
参数名称 | 数据类型 | 参数说明 |
---|---|---|
TPS | String | 每秒同步的记录数 |
Flow | String | 每秒同步的流量,单位为:MB/s |
下面简单演示通过JAVA SDK 查询同步任务列表的示例:
public void descSyncJobs(DefaultAcsClient client) {
DescribeSynchronizationJobsRequest request = new DescribeSynchronizationJobsRequest();
DescribeSynchronizationJobsResponse response = new DescribeSynchronizationJobsResponse();
try {
response = client.getAcsResponse(request);
System.out.println("Describe all Synchronization Jobs Succeed!");
List<SynchronizationInstance> syncInstances=response.getSynchronizationInstances();
System.out.println("Total num of Synchronization Jobs:"+syncInstances.size());
for (SynchronizationInstance syncInstance : syncInstances) {
System.out.println("SyncJobId:"+syncInstance.getSynchronizationJobId()
+"; SyncJobName:"+syncInstance.getSynchronizationJobName()
+"; PayType:"+syncInstance.getPayType()
+"; InstanceClass:"+syncInstance.getSynchronizationJobClass()
+"; StrucInit:"+syncInstance.getStructureInitialization()
+"; DataInit:"+syncInstance.getDataInitialization()
+"; Status:"+syncInstance.getStatus()
+"; ErrMSG:"+syncInstance.getErrorMessage()
+"; Delay:"+syncInstance.getDelay());
System.out.println("SourceEndpointInstanceType:"+syncInstance.getSourceEndpoint().getInstanceType()
+"SourceEnpointInstanceId:"+syncInstance.getSourceEndpoint().getInstanceId());
System.out.println("DestEndpointInstanceType:"+syncInstance.getDestinationEndpoint().getInstanceType()
+"DestEndpointInstanceId:"+syncInstance.getDestinationEndpoint().getInstanceId());
// Get Precheck Status
try {
com.aliyuncs.dts.model.v20160801.DescribeSynchronizationJobsResponse.SynchronizationInstance.PrecheckStatus precheckStatus = syncInstance.getPrecheckStatus();
System.out.println("Get Precheck Status for Sync Job Succeed");
System.out.println("Precheck Status:"+syncInstance.getPrecheckStatus().getStatus()
+"Precheck Percent:"+syncInstance.getPrecheckStatus().getPercent());
for (int j = 0; j < syncInstance.getPrecheckStatus().getDetail().size(); j++) {
System.out.println("CheckItem:"+syncInstance.getPrecheckStatus().getDetail().get(j).getCheckStatus()
+"; ErrorMSG:"+syncInstance.getPrecheckStatus().getDetail().get(j).getErrorMessage()
+"; RepairMethod:"+syncInstance.getPrecheckStatus().getDetail().get(j).getRepairMethod());
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("Get Precheck Status for Sync Job Failed");
}
// Get Structure Initialization Status
try {
System.out.println("Get Structure Initialization Status Succeed!");
System.out.println("Structure Init Status:"+syncInstance.getStructureInitializationStatus().getStatus()
+"; Percent:"+syncInstance.getStructureInitializationStatus().getPercent()
+"; Progress:"+syncInstance.getStructureInitializationStatus().getProgress()
+"; ErrMSG:"+syncInstance.getStructureInitializationStatus().getErrorMessage());
} catch (Exception e) {
// TODO: handle exception
System.out.println("Get Structure Initialization Status Failed!");
}
// Get Data Initialization Status
try {
System.out.println("Get Data Init Status Succeed!");
System.out.println("Data Init Status:"+syncInstance.getDataInitializationStatus().getStatus()
+"; Percent:"+syncInstance.getDataInitializationStatus().getPercent()
+"; Progress:"+syncInstance.getDataInitializationStatus().getProgress()
+"; ErrMSG:"+syncInstance.getDataInitializationStatus().getErrorMessage());
} catch (Exception e) {
// TODO: handle exception
System.out.println("Get Data Init Status Failed!");
System.out.println(e.toString());
}
//Get Data Synchronization Status
try {
System.out.println("Get Data Synchronization Status Succeed!");
System.out.println("Data Sync Status:"+syncInstance.getDataSynchronizationStatus().getStatus()
+"; Percent:"+syncInstance.getDataSynchronizationStatus().getPercent()
+"; Delay:"+syncInstance.getDataSynchronizationStatus().getDelay()
+"; ErrMSG:"+syncInstance.getDataSynchronizationStatus().getErrorMessage());
} catch (Exception e) {
// TODO: handle exception
System.out.println("Get Data Sync Status Failed!");
System.out.println(e.toString());
}
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("Desc all Sync Jobs Failed!");
System.out.println(e.toString());
}
}
在文档使用中是否遇到以下问题
更多建议
匿名提交