当任务处于任意状态时,都可以调用本接口查看订阅通道状态。可以查询的迁移状态包括:通道配置信息,通道状态,下游消费状态。
参数名称 | 数据类型 | 是否必须 | 参数描述 |
---|---|---|---|
Action | String | 是 | 系统必须参数,为这个接口的接口定义,具体取值为: DescribeSubscriptionInstanceStatus |
SubscriptionInstanceId | String | 是 | 订阅通道ID |
RegionId | String | 否 | 地域ID |
AccountId | String | 否 | 阿里云账号ID |
参数名称 | 数据类型 | 参数描述 |
---|---|---|
SubscriptionInstanceId | String | 订阅通道的ID |
SubscriptionInstanceName | String | 订阅通道的名称 |
PayType | String | 付费类型 |
SourceEndpoint | Endpoint | 订阅源实例的连接信息,具体定义详见下面的Endpoint定义 |
SubscriptionDataType.DDL | Boolean | 订阅数据是否包含DDL,取值包含:true或false 当订阅数据包含DDL时,取值为true 当订阅数据不包含DDL时,取值为false |
SubscriptionDataType.DML | Boolean | 订阅数据是否包含DML,取值包含:true或false 当订阅数据包含DML时,取值为true 当订阅数据不包含DML时,取值为false |
SubscriptionObjects | List |
订阅对象,类型为SubscriptionObject的数组,SubscriptionObject详见订阅对象定义 |
Status | String | 订阅通道的状态,取值为:NotStarted、Prechecking、PrecheckFailed、Starting、Normal、Abnormal |
ErrorMessage | String | 通道异常原因 |
ConsumptionCheckpoint | String | 订阅通道的下游消费时间点,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
BeginTimestamp | String | 订阅通道保存数据范围的起始时间点,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
EndTimestamp | String | 订阅通道保存数据范围的末尾时间点,格式为yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 |
ConsumptionClient | String | 下游链接对应的IP和随机标识信息,其中IP为下游客户端的IP地址,随机标示为DTS生成的随机ID |
SubscribeHost.PublicHost | String | 订阅通道的公网地址 |
SubscribeHost.PrivateHost | String | 订阅通道的私网地址 |
SubscribeHost.VPCHost | String | 订阅通道的专有网络地址 |
SubscribeTopic | String | 订阅topic |
参数名称 | 数据类型 | 参数描述 |
---|---|---|
InstanceType | String | 实例类型 |
Region | String | 源实例所在地域 |
InstanceId | String | 实例ID |
EngineName | String | 数据库类型 |
IP | String | 数据库连接地址 |
Port | String | 数据库监听端口 |
UserName | String | 数据库访问账号 |
OracleSID | String | Oracle SID |
DatabaseName | String | 数据库名称 |
参数名称 | 数据类型 | 参数描述 |
---|---|---|
databaseName | String | 订阅对象数据库名称 |
tableList | List |
订阅表名称 |
wholeDatabase | Boolean | 是否整库订阅 |
下面简单演示通过Java SDK查询迁移任务状态的示例:
private void describe(String jobId) throws ClientException {
DescribeSubscriptionInstanceStatusRequest request = new DescribeSubscriptionInstanceStatusRequest();
request.setSubscriptionInstanceId(jobId);
DescribeSubscriptionInstanceStatusResponse response = client.getAcsResponse(
request);
System.out.println(response.getStatus());
System.out.println(response.getBeginTimestamp());
System.out.println(response.getEndTimestamp());
System.out.println(response.getConsumptionCheckpoint());
}
在文档使用中是否遇到以下问题
更多建议
匿名提交