Как правильно указать обнуляемое поле protobuf в реестре схем подключения / слияния Кафки

#c# #protocol-buffers #apache-kafka-connect #protobuf-net #confluent-schema-registry

Вопрос:

Я создаю производителя Кафки (в C# .NET), который будет создавать записи в форме Протобуфа для темы Кафки.

Эта тема будет снята с сериализации и перенесена в Elasticsearch через Kafka Connect.

В моем файле .proto у меня есть поле с отметкой времени «Дата доставки», которое можно обнулить:

 message SalesOrder 
{
   int32 SoId = 1;
   google.protobuf.Timestamp DeliveryDate = 2;
}
 

Вот мой код производителя Кафки на C# :

 kafkaProducer = new ProducerBuilder<Null, SalesOrder>(config)
                .SetValueSerializer(new KafkaSerializer()).Build();
 

Вопрос: Как я могу указать реестру Kafka Connect / Schema, что это поле «Дата доставки» может быть обнулено, и, таким образом, предотвратить сбой Kafka Connect при преобразовании нулевого значения?

Комментарии:

1. Ну, а что в реестре хранится для этого файла-прототипа в виде представления JSON? Разрешено ли там быть нулевым? В частности, вы не отметили это поле как необязательное