DescribeTunnel操作描述某个通道里的具体Channel信息。目前一个Channel对应TableStore Stream接口的一个数据分片。
请求参数
参数 |
说明 |
TableName |
需要获取通道信息的数据表名称。 |
TunnelName |
通道的名称。 |
响应参数
参数 |
说明 |
TunnelConsumePoint |
通道消费增量数据的最新时间点,其值等于Tunnel中消费最慢的Channel的时间点,默认值为1970年1月1日(UTC)。 |
TunnelInfo |
通道信息的列表,包含如下信息:
|
List<ChannelInfo> |
通道中的Channel信息列表,包含如下信息:
- ChannelId:Channel对应的ID。
- ChannelType:Channel的类型,包括全量(BaseData)和增量(Stream)两种。
- ChannelStatus:Channel的状态,包括等待(WAIT)、打开(OPEN)、关闭中(CLOSING)、关闭(CLOSE)和结束(TERMINATED)五种。
- ClientId:通道客户端的ID标识,默认由客户端主机名(可以在TunnelWorkerConfig中自定义)和随机串拼接而成。
- ChannelConsumePoint:Channel消费增量数据的最新时间点,默认值为1970年1月1日(UTC),全量类型无此概念。
- ChannelCount:Channel同步的数据条数。
|
ResponseInfo |
返回的一些其它字段。 |
RequestId |
当次请求的Request ID。 |
示例
//数据消费时间位点(ConsumePoint)和RPO(Recovery Point Objective)为增量类型专用属性值,全量类型无此概念。
//Tunnel增量:TunnelInfo中Stage的值为ProcessStream;Channel增量:ChannelInfo中的ChannelType为Stream。
private static void describeTunnel(TunnelClient client, String tableName, String tunnelName) {
DescribeTunnelRequest request = new DescribeTunnelRequest(tableName, tunnelName);
DescribeTunnelResponse resp = client.describeTunnel(request);
System.out.println("RequestId: " + resp.getRequestId());
//通道消费增量数据的最新时间点,其值等于Tunnel中消费最慢的Channel的时间点,默认值为1970年1月1日(UTC)。
System.out.println("TunnelConsumePoint: " + resp.getTunnelConsumePoint());
System.out.println("TunnelInfo: " + resp.getTunnelInfo());
for (ChannelInfo ci : resp.getChannelInfos()) {
System.out.println("ChannelInfo::::::");
System.out.println("\tChannelId: " + ci.getChannelId());
//Channel的类型,包括BaseData(全量)和增量(Stream)两种。
System.out.println("\tChannelType: " + ci.getChannelType());
//客户端的ID标识,默认由客户端主机名和随机串拼接而成。
System.out.println("\tClientId: " + ci.getClientId());
//Channel消费增量数据的最新时间点。
System.out.println("\tChannelConsumePoint: " + ci.getChannelConsumePoint());
//Channel同步的数据条数。
System.out.println("\tChannelCount: " + ci.getChannelCount());
}
}