使用 Java SDK 查询指定通道的配置、运行阶段、Channel 状态及增量消费进度。
前提条件
功能说明
调用 describeTunnel 查询指定通道的信息。返回结果包含通道配置、通道整体的增量消费位点和 RPO,以及通道内各 Channel 的状态与消费进度。
DescribeTunnelResponse describeTunnel(DescribeTunnelRequest request)
throws TableStoreException, ClientException
以下示例查询 example_table 数据表中 example_tunnel 通道的信息,并输出通道运行阶段及各 Channel 的状态和消费进度。
String tableName = "example_table";
String tunnelName = "example_tunnel";
DescribeTunnelRequest request =
new DescribeTunnelRequest(tableName, tunnelName);
DescribeTunnelResponse response = tunnelClient.describeTunnel(request);
TunnelInfo tunnelInfo = response.getTunnelInfo();
System.out.printf(
"name=%s, type=%s, stage=%s%n",
tunnelInfo.getTunnelName(),
tunnelInfo.getTunnelType(),
tunnelInfo.getStage());
for (ChannelInfo channelInfo : response.getChannelInfos()) {
System.out.printf(
"channelId=%s, type=%s, status=%s, count=%d%n",
channelInfo.getChannelId(),
channelInfo.getChannelType(),
channelInfo.getChannelStatus(),
channelInfo.getChannelCount());
}
参数说明
request 的类型为 DescribeTunnelRequest,包含以下参数:
|
名称 |
类型 |
说明 |
|
tableName(必选) |
|
数据表名称。 |
|
tunnelName(必选) |
|
通道名称。 |
返回值
返回值类型为 DescribeTunnelResponse,包含以下字段:
|
名称 |
类型 |
说明 |
|
tunnelConsumePoint |
|
通道消费增量数据的最新位点,取通道内消费进度最慢的 Channel 位点。默认值为 1970 年 1 月 1 日 00:00:00 UTC。通过 |
|
tunnelRpo |
|
通道的增量消费 RPO,即当前时间与最慢 Channel 消费位点的差值,单位为毫秒。通过 |
|
tunnelInfo |
|
通道信息。通过 |
|
channelInfos |
|
通道内的 Channel 信息列表。通道尚未初始化出 Channel 时返回空列表。通过 |
tunnelConsumePoint 和 tunnelRpo 仅用于增量消费。通道尚未开始增量消费或仅消费全量数据时,tunnelConsumePoint 为默认值,此时不要使用 tunnelRpo 判断消费延迟。
Channel 信息
channelInfos[] 的类型为 ChannelInfo,包含以下字段:
|
名称 |
类型 |
说明 |
|
channelId |
|
Channel ID。 |
|
channelType |
|
Channel 类型。取值为 |
|
channelStatus |
|
Channel 状态。取值为 |
|
clientId |
|
当前消费该 Channel 的客户端 ID。没有客户端占用 Channel 时可能为空。客户端 ID 根据 |
|
channelConsumePoint |
|
Channel 消费增量数据的最新位点。默认值为 1970 年 1 月 1 日 00:00:00 UTC;全量 Channel 不使用该字段。 |
|
channelRpo |
|
Channel 的增量消费 RPO,即当前时间与 |
|
channelCount |
|
Channel 已同步的数据行数。 |