开发者社区> 问答> 正文

如何查看订阅通道状态



描述


当任务处于任意状态时,都可以调用这个接口查看订阅通道状态。可以查询的迁移状态包括:通道配置信息,通道状态,下游消费状态。

请求参数

参数名称数据类型是否必须参数描述
ActionString系统必须参数,为这个接口的接口定义,具体取值为:DescribeSubscriptionInstanceStatus
SubscriptionInstanceIdString订阅通道ID


返回参数

参数名称数据类型参数描述
SubscriptionInstanceIdString订阅通道的ID
SubscriptionInstanceNameString订阅通道的名称
PayTypeString付费类型
SourceEndpointEndpoint订阅源实例的连接信息,具体定义详见下面的Endpoint定义
SubscriptionDataType.DDLBoolean订阅数据是否包含DDL,取值包含:true,false当订阅数据包含DDL时,取值为true当订阅数据不包含DDL时,取值为false
SubscriptionDataType.DMLBoolean订阅数据是否包含DML,取值包含:true,false当订阅数据包含DML时,取值为true当订阅数据不包含DML时,取值为false
SubscriptionObjectsList订阅对象,类型为SubscriptionObject的数组,SubscriptionObject详见订阅对象定义
StatusString订阅通道的状态,取值为:NotStarted,Prechecking,PrecheckFailed,Starting,Normal,Abnormal
ErrorMessageString通道异常原因
ConsumptionCheckpointString订阅通道的下游消费时间点,日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ; 例如,2017-08-15T12:00:00Z(为北京时间2017年8月15日20点0分0秒)
BeginTimestampString订阅通道保存数据范围的起始时间点,日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ; 例如,2017-08-15T12:00:00Z(为北京时间2017年8月15日20点0分0秒)
EndTimestampString订阅通道保存数据范围的末尾时间点,日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ; 例如,2017-08-15T12:00:00Z(为北京时间2017年8月15日20点0分0秒)
ConsumptionClientString下游链接对应的IP:随机标识,其中IP为下游客户端的IP地址,随机标示为DTS生成的随机ID


Endpoint 参数定义

参数名称数据类型参数描述
InstanceTypeString实例类型
RegionString源实例所在地域
InstanceIdString实例ID
EngineNameString数据库类型
IPString数据库连接地址
PortString数据库监听端口
UserNameString数据库访问账号
OracleSIDStringOracle SID
DatabaseNameString数据库名称


SubscriptionObject 参数定义

参数名称数据类型参数描述
databaseNameString订阅对象数据库名称
tableListList订阅表名称
wholeDatabaseBoolean是否整库订阅


示例


下面简单演示通过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());
    }

展开
收起
云栖大讲堂 2017-10-31 16:25:11 1841 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
ACK集群类型选择最佳实践 立即下载
探索连接的最后十秒”落时”的网关 立即下载
低代码开发师(初级)实战教程 立即下载