如果需要实时消费表中数据,您需要调用CreateTunnel接口为数据表创建一个通道,一张数据表上可以创建多个通道。在创建通道时需要指定数据表名称、通道名称和通道类型。
前提条件
已初始化TunnelClient。
已创建数据表。具体操作,请参见创建数据表。
参数
请求参数
参数 | 说明 |
TableName | 创建通道的数据表名称。 |
TunnelName | 通道的名称。 |
Type | 通道的类型,支持全量(BaseData)、增量(Stream)和全量加增量(BaseAndStream)三种。 创建增量或者全量加增量类型的通道时,系统默认创建通道后写入的数据为增量数据。如果要消费指定时间点后的增量数据,请配置增量数据的起始时间戳(startTime)。
|
响应参数
参数 | 说明 |
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计算与分析表格存储数据,更多信息,请参见使用教程(宽表模型)和使用教程(时序模型)。
当前通道服务本身没有额外的费用开销。在消费通道服务数据时,表格存储会根据实际拉取的数据产生读吞吐量计量计费。更多信息,请参见计费概述。