Kafka Connect SMT для добавления полей заголовка Kafka - PullRequest
0 голосов
/ 07 августа 2020

Мне нужно найти или написать SMT, который добавит поля заголовка в запрос. В запросе отсутствуют некоторые поля типа, и я хочу их добавить.

Как именно вы добавляете заголовок в SMT, все, что я видел, это просто преобразования записи, как показано ниже, но что, если это заголовок, который я хочу изменить или добавить поле в?

   private R applySchemaless(R record) {

   final Map<String, Object> value = requireMap(operatingValue(record), PURPOSE);
  // record.headers.add(Header)  but how do I define the header
  // or record.headers.add(String, Schema) but I am not sure how to define Schema? 
  final Map<String, Object> updatedValue = new HashMap<>(value);

  updatedValue.put(fieldName, getRandomUuid());
  

  return newRecord(record, null, updatedValue);
  
}

1 Ответ

1 голос
/ 07 августа 2020

Это должно работать

Headers headers = new ConnectHeaders();
headers.add(myKey, myValue, mySchema);
headers.forEach(h -> record.headers().add(h));

Информацию о ConnectHeaders можно найти здесь - https://kafka.apache.org/25/javadoc/org/apache/kafka/connect/header/Headers.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...