发送信号到Debezium连接器开云体育官方注册网址
概述
Debe开云体育官方注册网址zium信号机制提供了一种方法来修改连接器的行为,或触发一次性操作,例如启动AD hoc快照一张桌子。要触发连接器执行指定的操作,可以发出SQL命令向专门的信令表(也称为信令数据集合)添加信号消息。在源数据库上创建的信令表专门用于与Debezium通信。开云体育官方注册网址开云体育电动老虎机当Debe开云体育官方注册网址zium检测到一个新的日志记录或自定义快照记录被添加到信令表中,它读取信号,并启动所请求的操作。
信令可用于以下Debezium连接器:开云体育官方注册网址
Db2
MongoDB(技术预览)
MySQL
甲骨文
PostgreSQL
SQL Server
使信号
缺省情况下,Debezium信令开云体育官方注册网址机制处于关闭状态。必须显式地为希望使用它的每个连接器启用信令。
在源数据库上,创建一个信令数开云体育电动老虎机据收集表,用于向连接器发送信号。有关信令数据收集所需结构的信息,请参见信令数据集合的结构.
对于实现了本地变更数据开云体育电动老虎机捕获(CDC)机制的源数据库(如Db2或SQL Server),为信令表启用CDC。
将信令数据集合的名称添加到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.
场 | 类型 | 描述 |
---|---|---|
|
|
标识信号实例的任意唯一字符串。 |
|
|
指定要发送的信号类型。 |
|
|
指定传递给信号操作的json格式参数。 |
数据集合中的字段名是任意的。上表提供了建议的名称。如果使用不同的命名约定,请确保每个字段中的值与预期的内容一致。 |
创建信令数据集合
您可以通过向源数据库提交标准SQL DDL查询来创建信令表。开云体育电动老虎机
您拥有在目标数据库上创建表的足够访问权限。开云体育电动老虎机
向源数据库提交SQL查询,以创建与开云体育电动老虎机需要结构,示例如下:
创建表<表>(id VARCHAR (< varcharValue >)主键,类型VARCHAR(< varcharValue >VARCHAR(数据)< varcharValue >)空);
分配给对象的空间量 |
下面的示例显示了a创建表
命令创建一个三列开云体育官方注册网址debezium_signal
表:
CREATE TABLE 开云体育官方注册网址debezium_signal (id VARCHAR(42) PRIMARY KEY, type VARCHAR(32) NOT NULL, data VARCHAR(2048) NULL);
信号行为
您可以使用信令发起以下操作:
有些信号与所有连接器不兼容。
测井信号
属性创建信令表项,可以请求连接器向日志中添加条目日志
信号类型。处理信号后,连接器将指定的消息打印到日志中。可选地,您可以配置信号,以便产生的消息包括流坐标。
列 | 价值 | 描述 |
---|---|---|
id |
|
|
类型 |
|
信号的动作类型。 |
数据 |
|
的 |
Ad hoc快照信号
属性创建信令表项,可以请求连接器初始化临时快照execute-snapshot
信号类型。在处理信号之后,连接器运行所请求的快照操作。
与连接器第一次启动后运行的初始快照不同,临时快照发生在运行时期间,在连接器已经开始从数据库传输更改事件之后。开云体育电动老虎机您可以在任何时候启动临时快照。
Ad hoc快照可用于以下Debezium连接器:开云体育官方注册网址
Db2
MongoDB
MySQL
甲骨文
PostgreSQL
SQL Server
列 | 价值 |
---|---|
id |
|
类型 |
|
数据 |
|
目前,execute-snapshot
动作触发增量快照只有。
有关临时快照的详细信息,请参见快照主题。
临时快照停止信号
属性创建信号表项,可以请求连接器停止正在进行的临时快照stop-snapshot
信号类型。处理信号后,连接器将停止当前正在进行的快照操作。
您可以停止以下Debezium连接器的临时快照:开云体育官方注册网址
Db2
MongoDB
MySQL
甲骨文
PostgreSQL
SQL Server
列 | 价值 |
---|---|
id |
|
类型 |
|
数据 |
|
您必须指定类型
信号的。的数据收集
字段可选。离开数据收集
字段为空,请求连接器停止当前快照中的所有活动。如果希望继续增量快照,但希望从快照中排除特定的集合,请提供一个以逗号分隔的集合名称列表或要排除的正则表达式。连接器处理信号后,增量快照继续进行,但它排除您指定的集合中的数据。
增量快照
增量快照是一种特定类型的临时快照。在增量快照中,连接器捕获您指定的表的基线状态,类似于初始快照。但是,与初始快照不同,增量快照以块的形式捕获表,而不是一次捕获所有表。连接器使用水印方法跟踪快照的进度。
通过以块的形式捕获指定表的初始状态,而不是在一个单一的整体操作中,增量快照比初始快照过程提供了以下优势:
当连接器捕获指定表的基线状态时,来自事务日志的近乎实时的事件流继续不间断地进行。
如果增量快照进程中断,可以从停止的时间点恢复。
您可以在任何时间启动增量快照。
增量快照暂停信号
属性创建信号表项,可以请求连接器暂停正在进行的增量快照pause-snapshot
信号类型。处理信号后,连接器将停止暂停当前正在进行的快照操作。因此,不可能指定数据收集,因为快照处理将在信号处理时所处的位置暂停。
您可以暂停以下Debezium连接器的增量快照:开云体育官方注册网址
Db2
MongoDB
MySQL
甲骨文
PostgreSQL
SQL Server
列 | 价值 |
---|---|
id |
|
类型 |
|
您必须指定类型
信号的。的数据
字段被忽略。