Официальный коннектор исходного кода 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"
Другие вопросы по тегам