全部產品
Search
文件中心

Tablestore:擷取通道的具體資訊

更新時間:Jun 30, 2024

建立通道後,您可以使用DescribeTunnel介面擷取某個通道內的具體資訊,例如通道資訊、通道內的Channel資訊等。

前提條件

  • 已初始化TunnelClient。

  • 已為資料表建立通道。具體操作,請參見建立通道

參數

請求參數

參數

說明

TableName

需要擷取通道資訊的資料表名稱。

TunnelName

通道的名稱。

響應參數

參數

說明

TunnelConsumePoint

通道消費增量資料的最新時間點,其值等於Tunnel中消費最慢的Channel的時間點,預設值為1970年1月1日(UTC)。

TunnelInfo

通道資訊的列表,包含如下內容:

  • TunnelId:通道的ID。

  • TunnelType:通道的類型,包括全量(BaseData)、增量(Stream)和全量加增量(BaseAndStream)三種。

  • TableName:該通道所在的資料表名稱。

  • InstanceName:該通道所在的執行個體名稱。

  • Stage:該通道所處的階段,包括初始化(InitBaseDataAndStreamShard),全量處理(ProcessBaseData)和增量處理(ProcessStream)三種。

  • Expired:資料是否超期。

    如果該值返回true,請及時通過DingTalk聯絡Table Store支援人員。

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同步的資料條數。

RequestId

當次請求的Request ID。

樣本

以下樣本用於查詢指定通道的具體資訊,例如資料消費時間位點、通道資訊、通道內Channel資訊。

//資料消費時間位點(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());
    }
}

相關文檔

  • 關於API說明的更多資訊,請參見DescribeTunnel

  • 如果要快速使用通道服務消費資料,請參見快速使用通道服務文檔進行操作。

  • 如果要查看指定表的所有通道資訊,您可以通過擷取表內的通道資訊實現。更多資訊,請參見擷取表內的通道資訊

  • 如果不再使用某個通道,您可以刪除相應通道。更多資訊,請參見刪除通道