Debezium 发件箱模式属性 transforms.outbox.table.expand.json.payload 删除空数组

问题描述 投票:0回答:0

我正在使用 debezium postgres 连接器实现发件箱模式,建立在官方文档的基础上:https://debezium.io/documentation/reference/stable/transformations/outbox-event-router.html.

Evething 好,但现在我看到奇怪的行为,如果 kafka 消息中缺少空数组

transforms.outbox.table.expand.json.payload 
真正的

如果在表中我有值“{“some”:“test”,“agreemets”:[]}”在主题消息中看起来{“some”:“test”}。

第一行,如果我们设置为 false 第二行,如果我们设置为 true

enter image description here

如何防止删除空数组?

我完整的 Kafka 连接配置

{
    "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
    "tasks.max": "1",
    "database.hostname": "db",
    "database.port": "5432",
    "database.user": "postgres",
    "database.password": "postgres",
    "database.dbname": "mycbh_dev",
    "database.server.name": "db",
    "schema.include.list": "common",
    "table.include.list": "common.outboxmessages",
    "tombstones.on.delete": "false",
    "transforms": "outbox",
    "transforms.outbox.type": "io.debezium.transforms.outbox.EventRouter",
    "transforms.outbox.route.by.field": "topic",
    "transforms.outbox.route.topic.replacement": "${routedByValue}",
    "transforms.outbox.table.field.event.timestamp": "created_at",
    "transforms.outbox.table.expand.json.payload": "true",
    "transforms.outbox.tracing.with.context.field.only": "true",
    "plugin.name": "pgoutput"
}
postgresql apache-kafka apache-kafka-connect connect debezium
© www.soinside.com 2019 - 2024. All rights reserved.