CreateTunnel操作为某张数据表创建一个通道,一张数据表上可以创建多个通道。在创建通道时需要指定数据表名称、通道名称和通道类型。
请求参数
参数 | 说明 |
---|---|
tableName | 创建通道的数据表名称。 |
tunnelName | 通道的名称。 |
tunnelType | 通道的类型,包括如下取值:
|
响应参数
参数 | 说明 |
---|---|
TunnelId | 通道的ID。 |
ResponseInfo | 返回的一些其它字段。 |
RequestId | 当次请求的Request ID。 |
示例
- 示例1
创建全量类型的通道。
//支持创建三种类型的通道TunnelType.BaseData(全量)、TunnelType.Stream(增量)和TunnelType.BaseAndStream(全量加增量)。 //本示例为创建全量类型的通道,如果需要创建其它类型的通道,则将CreateTunnelRequest中的TunnelType设置为相应的类型。 private static void createTunnel(TunnelClient client, String tunnelName) { CreateTunnelRequest request = new CreateTunnelRequest(TableName, tunnelName, TunnelType.BaseData); CreateTunnelResponse resp = client.createTunnel(request); System.out.println("RequestId: " + resp.getRequestId()); System.out.println("TunnelId: " + resp.getTunnelId()); }
- 示例2
创建增量或者全量加增量类型的通道,并指定读取的增量数据时间范围。
//创建增量或者全量加增量类型的通道,指定起始时间戳或结束时间戳,表示读取的增量数据时间范围。对于全量类型的通道,StreamTunnelConfig的配置不生效。 private static void createStreamTunnelByOffset(TunnelClient client,String tableName,String tunnelName){ CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.Stream);//创建增量类型通道。 //CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.BaseAndStream);//创建全量加增量类型通道。 StreamTunnelConfig streamTunnelConfig = new StreamTunnelConfig(); /* 指定增量数据的起始时间戳(startTime)和结束时间戳(endTime)。单位为毫秒,取值范围为[CurrentSystemTime - StreamExpiration + 5 minute, CurrentSystemTime)。 其中CurrentSystemTime为当前系统时间的毫秒单位时间戳,StreamExpiration为增量日志过期时间的毫秒单位时间戳,最大值为7天,您可以在表属性中设置StreamExpiration。 结束时间戳的取值必须大于起始时间戳。 */ streamTunnelConfig.setStartOffset(startTime); streamTunnelConfig.setEndOffset(endTime); createTunnelRequest.setStreamTunnelConfig(streamTunnelConfig); CreateTunnelResponse resp = client.createTunnel(createTunnelRequest); System.out.println("RequestId: " + resp.getRequestId()); System.out.println("TunnelId: " + resp.getTunnelId()); }