通道服务(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