变形
概览
登录后可跨设备保存划线和私人笔记登录
转换器
可以为连接器配置转换器,以便对每条消息进行轻量级的修改。Debezium 提供了多个单消息转换器(SMT),你可以使用它们在消息发送到 Apache Kafka 之前对其进行修改(应用于 Debezium 连接器),也可以在汇(sink)连接器从 Kafka 读取消息时使用它们。此外,Debezium Server 也支持使用 SMT。
Debezium 提供以下 SMT:
| 转换器 | 说明 |
|---|---|
| Topic Routing | 根据应用于原始主题名称的正则表达式,将记录重新路由到不同的主题。 |
| Content-Based Routing | 根据事件内容,将选定的事件重新路由到其他主题。 |
| New Record State Extraction | 从 Debezium 变更事件中提取字段名与值的扁平结构,便于那些无法处理 Debezium 复杂事件结构的 Sink 连接器使用。 |
| MongoDB New Document State Extraction | 针对 MongoDB 的 New Record State Extraction SMT 对应实现。 |
| Outbox Event Router | 提供一种在多个(微)服务之间安全、可靠地交换数据的方式。 |
| MongoDB Outbox Event Router | 针对 MongoDB 的 Outbox Event Router SMT 对应实现。 |
| Message Filtering | 根据内容对连接器发出的变更事件应用过滤器,从而只传播与你相关的记录。 |
| HeaderToValue | 将标头移动或复制到记录值中。 |
| Partition Routing | 根据配置的负载字段,将记录重新路由到特定分区。 |
| Timezone Converter | 将事件记录中 Debezium 和 Kafka Connect 的时间戳字段转换为指定时区。 |
| Geometry Format Transformer | 在 Well-Known Binary(WKB)和 Extended Well-Known Binary(EWKB)格式之间转换 Debezium 的 Geometry 字段类型。 |
| TimescaleDB Integration | 路由并丰富 Debezium PostgreSQL 连接器从 TimescaleDB 中捕获的消息。 |
| Decode Logical Decoding Message Content | 将 Debezium PostgreSQL 连接器捕获的逻辑解码消息的二进制内容转换为结构化形式。 |
| Enforce Record Size | 当变更事件超出配置的大小限制时,通过按比例截断大型字符串和字节列来强制实施最大记录大小。 |
| Vitess Use Local VGTID | 一种可减小 Vitess 连接器发出的 VGTID 大小的转换器。为减少事件消息中的数据量,该 SMT 仅写入发生变更所在分片的 VGTID,并移除其他分片的 VGTID。此转换器仅设计用于 Debezium 的 Vitess 连接器。 |
| Vitess Remove Field | 针对 Vitess 的转换器,用于移除字段以减小写入消息的大小(例如冗余的 VGTID 字段)。 |
| Vitess Replace Field Value | 针对 Vitess 的转换器,用于替换字段的值以减小写入消息的大小(例如冗余的 VGTID 字段)。 |
| Vitess Filter Transaction Topic Records | 一种可过滤掉连接器发送到事务主题的所有消息的转换器(当启用事务元数据时)。此转换器仅设计用于 Debezium 的 Vitess 连接器。 |
通过 SMT 谓词,你可以选择性地应用任何转换,使其仅修改那些具有共同特征的一部分变更事件消息。
| 上述大多数 SMT 默认已包含在 Debezium 容器镜像中,但基于脚本的 SMT(消息过滤或基于内容的路由)需要你主动启用。详情请参阅容器镜像的 README 文件。 |
|---|
评论
登录后参与评论
正在加载评论…
KnowForge