Мисля, че всичко, което искате, е Kafka Connect Single Message Transform (SMT)
и по-точно ReplaceField
:
Следното ще замени id
име на поле с _id
:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"
Във вашия случай, преди да приложите горната трансформация, може също да поискате Flatten
foos
:
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."
и накрая приложете трансформацията за преименуване на полето:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"