Официальный коннектор исходного кода MongoDB Kafka не публикует чистый расширенный JSON
Я установил довольно простой коннектор источника mongo kafka для потоковой передачи oplog mongo в kafka. Однако я вижу, что в сообщениях, публикуемых соединителем, сериализованные события журнала операций не соответствуют расширенной спецификации JSON; например, поле даты и времени представлено как:
{"$date": 1597841586927}
Когда в спецификации говорится, что он должен быть отформатирован как:
{"$date": {"$numberLong": "1597841586927"}}
Почему я не получаю чистый расширенный JSON?
Примечание: мой файл конфигурации коннектора выглядит так:
{
"name": "mongosource",
"config": {
"connector.class": "com.mongodb.kafka.connect.MongoSourceConnector",
"tasks.max": 1,
"connection.uri": "...",
"topic.prefix":"mongosource",
"database": "mydb",
"copy.existing": true,
"change.stream.full.document": "updateLookup",
}
}
1 ответ
Модуль форматирования json по умолчанию для исходного соединителя является устаревшим (см. Эту проблему в проекте JIRA соединителя).
Из версии
1.3.0
этого коннектора есть новый параметр конфигурации, который вы можете добавить, чтобы попросить коннектор выводить правильный расширенный JSON:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"