У меня есть топи c, где передаются записи, которые будут использоваться разъемом приемника kafka jdb c (в Postgres). Эти записи upsert в базу данных и могут быть созданы без всех полей, особенно когда это обновление .
Однако, как видно из другого ответа stackoverflow , "значение [s] для полей, которые помечены как необязательные, которые должны быть в полезной нагрузке сообщения.".
Некоторые из моих записей для обновления не являются "полными", как в следующий пример: у меня есть запись как: User(name: string, age: int)
и я хочу обновить ее возраст, наша система будет выдавать только:
{
"schema": {
"type": "struct",
"fields": [{
"field": "name",
"type": "string",
"optional": true
},
{
"field": "age",
"type": "int64",
"optional": true
}
]
},
"payload": {
"age": 33
}
}
Из того, что я понял, разъем jdb c сможет только обновить поля, присутствующие в полезной нагрузке, это правильно?
Кроме того, можно ли создавать только схему, соответствующую полезной нагрузке? ie: в схеме этой записи у нас будет только «возраст».