Penso che tutto ciò che desideri sia Kafka Connect Single Message Transform (SMT)
e più precisamente ReplaceField
:
Quanto segue sostituirà id
nome del campo con _id
:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"
Nel tuo caso, prima di applicare la trasformazione di cui sopra potresti anche voler Flatten
foos
:
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."
e infine applica la trasformazione per rinominare il campo:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"