DescribeTunnel操作描述某个通道里的具体Channel信息。目前一个Channel对应Tablestore Stream接口的一个数据分片。

请求参数

参数 说明
TableName 需要获取通道信息的数据表名称。
TunnelName 通道的名称。

响应参数

参数 说明
TunnelRPO 通道消费增量数据的最新时间点,其值等于Tunnel中消费最慢的Channel的时间点,默认值为1970年1月1日(UTC)。
List<TunnelInfo> 通道信息的列表,包含如下信息:
  • TunnelId:通道的ID。
  • TunnelName:通道的名称。
  • TunnelType:通道的类型,包括全量(BaseData)、增量(Stream)和全量加增量(BaseAndStream)三种。
  • TableName:该通道所在的数据表名称。
  • InstanceName:该通道所在的实例名称。
  • Stage:该通道所处的阶段,包括初始化(InitBaseDataAndStreamShard),全量处理(ProcessBaseData)和增量处理(ProcessStream)三种。
  • Expired:数据是否超期。

    如果该值返回true,请及时通过钉钉联系表格存储技术支持。

List<ChannelInfo> 通道中的Channel信息列表,包含如下信息:
  • ChannelId:Channel对应的ID。
  • ChannelType:Channel的类型,包括全量(Base)和增量(Stream)两种。
  • ChannelStatus:Channel的状态,包括等待(WAIT)、打开(OPEN)、关闭中(CLOSING)、关闭(CLOSE)和结束(TERMINATED)五种。
  • ClientId:通道客户端的ID标识,默认由客户端主机名(可以在TunnelWorkerConfig中自定义)和随机串拼接而成。
  • ChannelRPO:Channel消费增量数据的最新时间点,默认值为1970年1月1日(UTC),全量类型无此概念。
ResponseInfo 返回的一些其它字段,包括当次请求的RequestId。

RequestId用于唯一标识此次请求。

示例

req := &tunnel.DescribeTunnelRequest{
   TableName:  "testTable",
   TunnelName: "testTunnel",
}
resp, err := tunnelClient.DescribeTunnel(req)
if err != nil {
   log.Fatal("describe test tunnel failed", err)
}
log.Println("tunnel id is", resp.Tunnel.TunnelId)