发送信号到Debezium连接器开云体育官方注册网址

概述

Debe开云体育官方注册网址zium信号机制提供了一种方法来修改连接器的行为,或触发一次性操作,例如启动AD hoc快照一张桌子。要触发连接器执行指定的操作,可以发出SQL命令向专门的信令表(也称为信令数据集合)添加信号消息。在源数据库上创建的信令表专门用于与Debezium通信。开云体育官方注册网址开云体育电动老虎机当Debe开云体育官方注册网址zium检测到一个新的日志记录自定义快照记录被添加到信令表中,它读取信号,并启动所请求的操作。

信令可用于以下Debezium连接器:开云体育官方注册网址

  • Db2

  • MongoDB(技术预览)

  • MySQL

  • 甲骨文

  • PostgreSQL

  • SQL Server

使信号

缺省情况下,Debezium信令开云体育官方注册网址机制处于关闭状态。必须显式地为希望使用它的每个连接器启用信令。

过程
  1. 在源数据库上,创建一个信令数开云体育电动老虎机据收集表,用于向连接器发送信号。有关信令数据收集所需结构的信息,请参见信令数据集合的结构

  2. 对于实现了本地变更数据开云体育电动老虎机捕获(CDC)机制的源数据库(如Db2或SQL Server),为信令表启用CDC。

  3. 将信令数据集合的名称添加到Debezium连接器配置中。开云体育官方注册网址
    在连接器配置中,添加属性signal.data.collection,并将其值设置为步骤1中创建的信令数据集的全限定名。

    例如,Signal.data.collection = inventory.开云体育官方注册网址debezium_signals

    信令集合的全限定名称的格式取决于连接器。
    下面的示例显示了每个连接器使用的命名格式:

    Db2

    < schemaName ><表>

    MongoDB

    <开云体育电动老虎机数据库名>< collectionName >

    MySQL

    <开云体育电动老虎机数据库名><表>

    甲骨文

    <开云体育电动老虎机数据库名>< schemaName ><表>

    PostgreSQL

    < schemaName ><表>

    SQL Server

    <开云体育电动老虎机数据库名>< schemaName ><表>

    属性的详细信息signal.data.collection属性,请参见连接器的配置属性表。

信令数据集合的结构

信令数据集或信令表存储发送到连接器以触发指定操作的信号。信令表的结构必须遵循以下标准格式。

  • 包含三个字段(列)。

  • 字段按特定顺序排列,如表1

表1。信令数据收集所需的结构
类型 描述

id
(必需)

字符串

标识信号实例的任意唯一字符串。
你分配一个id到提交给信号表的每个信号。
通常,ID是UUID字符串。
可以使用信号实例进行日志记录、调试或重复数据删除。
当一个信号触发Debezium执行增量快照时,开云体育官方注册网址它生成一个带有任意值的信号消息id字符串。的id属性无关的id字符串在提交的信号。

类型
(必需)

字符串

指定要发送的信号类型。
您可以将某些信号类型用于有信令可用的任何连接器,而其他信号类型仅用于特定连接器。

数据
(可选)

字符串

指定传递给信号操作的json格式参数。
每种信号类型都需要一组特定的数据。

数据集合中的字段名是任意的。上表提供了建议的名称。如果使用不同的命名约定,请确保每个字段中的值与预期的内容一致。

创建信令数据集合

您可以通过向源数据库提交标准SQL DDL查询来创建信令表。开云体育电动老虎机

先决条件
  • 您拥有在目标数据库上创建表的足够访问权限。开云体育电动老虎机

过程
  • 向源数据库提交SQL查询,以创建与开云体育电动老虎机需要结构,示例如下:

    创建表<表>(id VARCHAR (< varcharValue >)主键,类型VARCHAR(< varcharValue >VARCHAR(数据)< varcharValue >)空);

分配给对象的空间量VARCHAR参数。id变量必须足以容纳发送到信令表的信号的ID字符串的大小。
如果ID的大小超过可用空间,连接器将无法处理该信号。

下面的示例显示了a创建表命令创建一个三列开云体育官方注册网址debezium_signal表:

CREATE TABLE 开云体育官方注册网址debezium_signal (id VARCHAR(42) PRIMARY KEY, type VARCHAR(32) NOT NULL, data VARCHAR(2048) NULL);

信号行为

您可以使用信令发起以下操作:

有些信号与所有连接器不兼容。

测井信号

属性创建信令表项,可以请求连接器向日志中添加条目日志信号类型。处理信号后,连接器将指定的消息打印到日志中。可选地,您可以配置信号,以便产生的消息包括流坐标。

表2。添加日志消息的信令记录示例
价值 描述

id

924 e3ff8 - 2245 - 43 - ca - ba77 af9af02fa07——2

类型

日志

信号的动作类型。

数据

{"message": "偏移量{}处的信号消息"}

消息参数指定要打印到日志中的字符串。
如果您添加占位符({})到消息中,则将其替换为流坐标。

Ad hoc快照信号

属性创建信令表项,可以请求连接器初始化临时快照execute-snapshot信号类型。在处理信号之后,连接器运行所请求的快照操作。

与连接器第一次启动后运行的初始快照不同,临时快照发生在运行时期间,在连接器已经开始从数据库传输更改事件之后。开云体育电动老虎机您可以在任何时候启动临时快照。

Ad hoc快照可用于以下Debezium连接器:开云体育官方注册网址

  • Db2

  • MongoDB

  • MySQL

  • 甲骨文

  • PostgreSQL

  • SQL Server

表3。一个临时快照信号记录的例子
价值

id

d139b9b7 - 7777 - 4547 - 917 - d - e1775ea61d41

类型

execute-snapshot

数据

{“数据收集”:["。MyFirstTable”、“公众。MySecondTable ")}

目前,execute-snapshot动作触发增量快照只有。

有关临时快照的详细信息,请参见快照主题。

临时快照停止信号

属性创建信号表项,可以请求连接器停止正在进行的临时快照stop-snapshot信号类型。处理信号后,连接器将停止当前正在进行的快照操作。

您可以停止以下Debezium连接器的临时快照:开云体育官方注册网址

  • Db2

  • MongoDB

  • MySQL

  • 甲骨文

  • PostgreSQL

  • SQL Server

表4。停止临时快照信号记录的示例
价值

id

d139b9b7 - 7777 - 4547 - 917 - d - e1775ea61d41

类型

stop-snapshot

数据

{"type":"INCREMENTAL", "data-collections": ["public. "MyFirstTable ")}

您必须指定类型信号的。的数据收集字段可选。离开数据收集字段为空,请求连接器停止当前快照中的所有活动。如果希望继续增量快照,但希望从快照中排除特定的集合,请提供一个以逗号分隔的集合名称列表或要排除的正则表达式。连接器处理信号后,增量快照继续进行,但它排除您指定的集合中的数据。

增量快照

增量快照是一种特定类型的临时快照。在增量快照中,连接器捕获您指定的表的基线状态,类似于初始快照。但是,与初始快照不同,增量快照以块的形式捕获表,而不是一次捕获所有表。连接器使用水印方法跟踪快照的进度。

通过以块的形式捕获指定表的初始状态,而不是在一个单一的整体操作中,增量快照比初始快照过程提供了以下优势:

  • 当连接器捕获指定表的基线状态时,来自事务日志的近乎实时的事件流继续不间断地进行。

  • 如果增量快照进程中断,可以从停止的时间点恢复。

  • 您可以在任何时间启动增量快照。

增量快照暂停信号

属性创建信号表项,可以请求连接器暂停正在进行的增量快照pause-snapshot信号类型。处理信号后,连接器将停止暂停当前正在进行的快照操作。因此,不可能指定数据收集,因为快照处理将在信号处理时所处的位置暂停。

您可以暂停以下Debezium连接器的增量快照:开云体育官方注册网址

  • Db2

  • MongoDB

  • MySQL

  • 甲骨文

  • PostgreSQL

  • SQL Server

表5所示。暂停增量快照信号记录的示例
价值

id

d139b9b7 - 7777 - 4547 - 917 - d - e1775ea61d41

类型

pause-snapshot

您必须指定类型信号的。的数据字段被忽略。

增量快照恢复信号

属性创建信号表项,可以请求连接器恢复暂停的增量快照resume-snapshot信号类型。处理信号后,连接器将恢复先前暂停的快照操作。

您可以恢复以下Debezium连接器的增量快照:开云体育官方注册网址

  • Db2

  • MongoDB

  • MySQL

  • 甲骨文

  • PostgreSQL

  • SQL Server

表6所示。恢复增量快照信号记录的示例
价值

id

d139b9b7 - 7777 - 4547 - 917 - d - e1775ea61d41

类型

resume-snapshot

您必须指定类型信号的。的数据字段被忽略。

有关增量快照的详细信息,请参见快照主题。