MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB Kafka Sink Connector verarbeitet den RenameByRegex-Prozessor nicht

Ich denke, alles, was Sie wollen, ist Kafka Connect Single Message Transform (SMT) und genauer ReplaceField :

Folgendes ersetzt id Feldname mit _id :

"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"

In Ihrem Fall sollten Sie vor dem Anwenden der obigen Transformation möglicherweise auch Flatten foos :

"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."

und wenden Sie schließlich die Transformation zum Umbenennen des Felds an:

"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"