如果需要实时消费表中数据,您需要调用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计算与分析表格存储数据,更多信息,请参见使用教程(宽表模型)和使用教程(时序模型)。
当前通道服务本身没有额外的费用开销。在消费通道服务数据时,表格存储会根据实际拉取的数据产生读吞吐量计量计费。更多信息,请参见计费概述。