MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB Kafka Sink Connector não processa o processador RenameByRegex


Acho que tudo que você quer é Kafka Connect Single Message Transform (SMT) e mais precisamente ReplaceField :

O seguinte substituirá id nome do campo com _id :
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "id:_id"

No seu caso, antes de aplicar a transformação acima, você também pode querer Flatten foos :
"transforms": "flatten",
"transforms.flatten.type": "org.apache.kafka.connect.transforms.Flatten$Value",
"transforms.flatten.delimiter": "."

e finalmente aplique a transformação para renomear o campo:
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foos.id:foos._id"