3.2. 更新数据库并查看 更新 事件
现在您已经了解了 Debezium MySQL 连接器如何在 inventory
数据库中捕获创建事件,现在您将更改其中一个记录,并查看连接器如何捕获它。
通过完成此步骤,您将了解如何查找数据库提交中更改的详细信息,以及如何比较更改事件,以确定与其他更改相关的更改。
流程
在运行 MySQL 命令行客户端的终端中,运行以下语句:
mysql> UPDATE customers SET first_name='Anne Marie' WHERE id=1004; Query OK, 1 row affected (0.05 sec) Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE customers SET first_name='Anne Marie' WHERE id=1004; Query OK, 1 row affected (0.05 sec) Rows matched: 1 Changed: 1 Warnings: 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看更新的
客户
表:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到运行
kafka-console-consumer
的终端,以查看第五个事件。通过在
客户
表中更改记录,Debezium MySQL 连接器会生成新的事件。您应该会看到两个新的 JSON 文档:一个用于事件 的密钥,另一个用于新事件 的值。以下是 更新 事件 的密钥 详情(便于阅读):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个密钥 与上一个事件 的密钥 相同。
这里是新事件 的值。
架构
部分没有更改,因此仅显示有效负载
部分(为可读性格式化):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过查看
有效负载
部分,您可以了解与 更新 事件相关的几个重要内容:-
通过比较
before
和after
结构,您可以确定因为提交而实际在受影响的行中更改的内容。 -
通过检查
源
结构,您可以查找有关更改的 MySQL 记录的信息(提供可追溯性)。 -
通过将事件的
payload
部分与同一主题(或不同的主题)中的其他事件进行比较,您可以确定事件在之前、之后还是作为与另一个事件相同的 MySQL 提交的一部分。
-
通过比较