Используя монго-кафку в качестве коннектора приемника, как мне установить значение поля типа Date? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть соединитель приемника mongo, а также реестр схемы.

Я настроил соединитель приемника mongo для доступа к реестру схемы, подобный следующему: https://github.com/mongodb/mongo-kafka/blob/master/docs/sink.md#configuration-example-for-avro

Я создал схему, следующуюэто: https://github.com/mongodb/mongo-kafka/blob/master/docs/sink.md#logical-types. Это выглядит примерно так:

{
  "type": "record",
  "name": "MyLogicalTypesRecord",
  "namespace": "com.mongodb.kafka.data.kafka.avro",
  "fields": [
    {
      "name": "myTimestampMillisField",
      "type": {
        "type": "long",
        "logicalType": "timestamp-millis"
      }
    }
  ]
}

Однако, когда записи проходят, данные выглядят так: { "myTimestampMillisField": 1572035138104 }, вместо чего-то похожего на { "myTimestampMillisField": ISODate("2019-10-25T20:28:19.628Z") }.

Iпроверил реестр схемы, чтобы убедиться, что логический тип есть и он выглядит хорошо.

Я не уверен, что делаю неправильно или есть ли лучший способ установить тип даты в Монго. Есть идеи?

1 Ответ

0 голосов
/ 26 октября 2019

Я понял.

https://docs.confluent.io/current/connect/transforms/timestampconverter.html

"transforms": "TimestampConverter",
"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.field": "myTimestampMillisField",
"transforms.TimestampConverter.target.type": "Date"
...