通道服务(Tunnel Service)是基于表格存储数据接口上的全增量一体化服务。通道服务提供了增量、全量、增量加全量三种类型的分布式数据实时消费通道。通过为数据表建立数据通道,您可以简单地实现对表中历史存量和新增数据的消费处理。
创建通道
为数据表创建一个通道。
- 命令格式
create_tunnel -n name
配置项说明请参见下表。
配置项 是否必填 示例值 说明 -t,--table 否 mytable 数据表名称。 -n,--name 是 t1 通道名称。 -m,--mode 否 stream_data_only 通道类型。取值范围如下: - base_data_only:全量类型。只能消费处理全量数据。
- stream_data_only(默认):增量类型。只能消费处理增量数据。
- base_and_stream:全量加增量类型。全量数据消费处理完成后,再消费处理增量数据。
- 示例
为数据表创建t1通道。
create_tunnel -n t1
返回结果如下:New tunnel created, its id is '9933470d-8a5e-4972-a5b0-b7ae6f836460'.
获取通道信息
获取通道的Tunnel信息以及Channel信息。
- 命令格式
describe_tunnel -n name
配置项说明请参见下表。
配置项 是否必填 示例值 说明 -t,--table 否 mytable 数据表名称。 -n,--name 是 t1 通道名称。 -o,--output 否 D:\\otstest\\mytunnel.txt 将返回结果保存到本地文件中。 - 示例
获取t1通道的信息。
describe_tunnel -n t1
返回结果如下:Tunnel Info: +--------------------------------------+------------+------------+---------------+---------+ | TunnelId | TunnelName | TunnelType | Stage | Expired | +--------------------------------------+------------+------------+---------------+---------+ | 9933470d-8a5e-4972-a5b0-b7ae6f836460 | t1 | Stream | ProcessStream | false | +--------------------------------------+------------+------------+---------------+---------+ Channel Info: +-------------------------------------------------------+-------------+---------------+----------+-------------------------------+ | ChannelId | ChannelType | ChannelStatus | ClientId | ChannelRPO | +-------------------------------------------------------+-------------+---------------+----------+-------------------------------+ | cfd2c05b-54b6-48ec-aa6f-feb427f0ca57_1635771329155688 | Stream | OPEN | | 1970-01-01 08:00:00 +0800 CST | +-------------------------------------------------------+-------------+---------------+----------+-------------------------------+
模拟通道消费
创建通道后,通过模拟数据消费可以预览通道中的数据格式。
- 命令格式
consume_tunnel -n name -m mock_consume
配置项说明请参见下表。
配置项 是否必填 示例值 说明 -c,--channel 否 cfd2c05b-54b6-48ec-aa6f-feb427f0ca57_1635771329155688 Channel ID。如果不设置此项,则表示消费所有Channel。 -t,--table 否 mytable 数据表名称。 -n,--name 是 t1 通道名称。 -m,--mode 是 mock_consume 消费模式。取值范围如下: - shadow_copy(默认):复制线上Tunnel消费流量。
- mock_consume:模拟消费数据,但不会更新断点记录信息。
- real_consume:真实消费数据,会同时更新断点记录信息。不推荐使用此模式。
- 示例
在t1通道上模拟数据消费。
consume_tunnel -n t1 -m mock_consume
执行命令后,当向表中写入数据时,屏幕中会显示数据消费记录,返回示例如下:Starting consume tunnel 't1' of table 'mytable', it may take a few seconds to start, please wait... {"Type":0,"Timestamp":1636360028961786,"SequenceInfo":{"Epoch":0,"Timestamp":1636360028961786,"RowIndex":1},"PrimaryKey":{"PrimaryKeys":[{"ColumnName":"uid","Value":"86"},{"ColumnName":"pid","Value":6771}]},"Columns":[{"Type":0,"Name":"name","Value":"redchen","Timestamp":1636360028962},{"Type":0,"Name":"country","Value":"china","Timestamp":1636360028962}]}
删除通道
删除不需要的通道。
- 命令格式
drop_tunnel -n name -y
配置项说明请参见下表。
配置项 是否必填 示例值 说明 -t,--table 否 mytable 数据表名称。 -n,--name 是 t1 通道名称。 -y,--yes 是 不涉及 显示确认信息。命令中必须带有此配置项。 - 示例
删除t1通道。
drop_tunnel -n t1 -y