全部产品
Search
文档中心

表格存储:创建通道

更新时间:Jan 13, 2025

如果需要实时消费表中数据,您需要调用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

相关文档

  • 关于API说明的更多信息,请参见CreateTunnel

  • 如果要快速使用通道服务消费数据,请参见快速使用通道服务文档进行操作。

  • 如果要查看指定表的所有通道信息,您可以通过获取表内的通道信息实现。更多信息,请参见获取表内的通道信息

  • 如果要查看指定通道的详细信息,您可以通过获取通道的具体信息实现。更多信息,请参见获取通道的具体信息

  • 如果不再使用某个通道,您可以删除相应通道。更多信息,请参见删除通道

  • 使用通道服务可以实现数据迁移。更多信息,请参见将表格存储数据表中数据同步到另一个数据表

  • 实时计算Flink能将通道服务的数据通道作为流式数据的输入,可实现通过Flink计算与分析表格存储数据,更多信息,请参见使用Flink

  • 当前通道服务本身没有额外的费用开销。在消费通道服务数据时,表格存储会根据实际拉取的数据产生读吞吐量计量计费。更多信息,请参见计费概述