全部產品
Search
文件中心

Tablestore:建立通道

更新時間:Sep 10, 2024

如果需要即時消費表中資料,您需要調用CreateTunnel介面為資料表建立一個通道,一張資料表上可以建立多個通道。在建立通道時需要指定資料表名稱、通道名稱和通道類型。

前提條件

  • 已初始化TunnelClient。

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

參數

請求參數

參數

說明

TableName

建立通道的資料表名稱。

TunnelName

通道的名稱。

Type

通道的類型,支援全量(BaseData)、增量(Stream)和全量加增量(BaseAndStream)三種。

建立增量或者全量加增量類型的通道時,系統預設建立通道後寫入的資料為增量資料。如果要消費指定時間點後的增量資料,請配置增量資料的起始時間戳記(startTime)。

  • 起始時間戳記的取值範圍為[當前系統時間-Stream到期時間+5分鐘 , 當前系統時間],單位為納秒

    說明

    Stream到期時間為增量日誌到期時間長度的毫秒單位時間戳記,最大值為7天。您可以在為資料表開啟Stream功能時設定,到期時間長度一經設定不能修改。

  • 您也可以配置增量資料的結束時間戳記(endTime),結束時間戳記的取值必須大於起始時間戳記。

響應參數

參數

說明

TunnelId

通道的ID。

ResponseInfo

返回的一些其它欄位,包括當次請求的RequestId。RequestId用於唯一標識此次請求。

樣本

以下樣本用於為資料表建立一個全量加增量類型的通道。

req := &tunnel.CreateTunnelRequest{
   TableName:  "<TABLE_NAME>",
   TunnelName: "<TUNNEL_NAME>",
   Type:       tunnel.TunnelTypeBaseStream, //建立全量加增量類型的Tunnel。
}
resp, err := tunnelClient.CreateTunnel(req)
if err != nil {
   log.Fatal("create tunnel failed ", err)
}
log.Println("tunnel id is", resp.TunnelId)

常見問題

使用通道服務消費資料時報錯OTSTrimmedDataAccess Requested stream data is already trimmed or does not exist

相關文檔