【发布时间】:2022-01-16 05:56:00
【问题描述】:
我正在使用 debezium postgres 连接器实现一个发件箱模式,建立在官方文档的基础上:https://debezium.io/documentation/reference/stable/transformations/outbox-event-router.html。
一切都很好 - 除了属性“transforms.outbox.table.expand.json.payload: true”不起作用。
使用以下数据库记录(SQL 插入):
INSERT INTO public.outbox_event_entity (id, event_id, "key", payload, topic, "type") VALUES(0, 'e09d6355-8e7c-4055-936c-4f997423925e', '1', '{"key":"value"}'::jsonb, 'topic', 'NEW_EVENT');
生成的记录的有效负载包含一串转义的 json 而不是真正的 json 字段:
"{\"key\": \"value\"}"
我正在使用这个配置:
spec:
class: io.debezium.connector.postgresql.PostgresConnector
config:
value.converter: org.apache.kafka.connect.json.JsonConverter
table.include.list: public.outbox_event_entity
transforms.outbox.type: io.debezium.transforms.outbox.EventRouter
publication.autocreate.mode: FILTERED
plugin.name: pgoutput
transforms: outbox
transforms.outbox.table.fields.additional.placement: 'type:header,event_id:header,timestamp_created:header'
value.converter.schemas.enable: false
transforms.outbox.table.field.event.key: id
topic: topic
key.converter: org.apache.kafka.connect.json.JsonConverter
transforms.outbox.route.by.field: topic
transforms.outbox.table.expand.json.payload: true
connector.class: io.debezium.connector.postgresql.PostgresConnector
include.schema.changes: false
file: /opt/kafka/LICENSE
key.converter.schemas.enable: false
[database properties omitted]
有人能看出我的错误吗?
最好的问候 安迪
【问题讨论】:
标签: apache-kafka apache-kafka-connect debezium