使用 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 的用戶端識別碼。沒有用戶端佔用 Channel 時可能為空白。用戶端識別碼 根據 |
|
channelConsumePoint |
|
Channel 消費增量資料的最新位點。預設值為 1970 年 1 月 1 日 00:00:00 UTC;全量 Channel 不使用該欄位。 |
|
channelRpo |
|
Channel 的增量消費 RPO,即目前時間與 |
|
channelCount |
|
Channel 已同步的資料行數。 |