Je pense que tout ce que vous voulez, c'est Kafka Connect Single Message Transform (SMT)
et plus précisément ReplaceField
:
Ce qui suit remplacera id
nom du champ avec _id
:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"
Dans votre cas, avant d'appliquer la transformation ci-dessus, vous pouvez également vouloir Flatten
foos
:
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."
et enfin appliquer la transformation pour renommer le champ :
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"