Kafka Connect - Удалить коннектор с конфигами?

Как насчет этой версии в обычном ES6 / ES2015?

function get(url) {
  return new Promise((resolve, reject) => {
    const req = new XMLHttpRequest();
    req.open('GET', url);
    req.onload = () => req.status === 200 ? resolve(req.response) : reject(Error(req.statusText));
    req.onerror = (e) => reject(Error(`Network Error: ${e}`));
    req.send();
  });
}

Функция возвращает обещание . Вот пример того, как использовать функцию и обрабатывать обещание , которое он возвращает:

get('foo.txt')
.then((data) => {
  // Do stuff with data, if foo.txt was successfully loaded.
})
.catch((err) => {
  // Do stuff on error...
});

Если вам нужно загрузить json-файл, вы можете использовать JSON.parse() для преобразования загруженных данных в объект JS.

Вы можете также интегрировать req.responseType='json' в функцию, но, к сожалению, нет поддержки IE для это , поэтому я бы придерживался JSON.parse().

0
задан suraj_fale 15 January 2019 в 19:28
поделиться

1 ответ

Поскольку Kafka предназначен только для добавления, то единственный способ удаления сообщений в этих темах Conncet - это опубликовать его с именем соединителя в качестве ключа сообщения и null в качестве значения.

Вы можете просмотреть эти темы с помощью консоли потребителя, чтобы увидеть, какие данные в них содержатся, включая --property print.key=true, и продолжать работу потребителя при удалении соединителя.

Вы можете PUT новую конфигурацию в /connectors/{name}/config, но любые конкретные смещения, которые используются, зависят от фактического типа разъема (приемник / источник); например, есть внутренняя тема Кафки __consumer_offsets, а также offset.storage.topic. Я не уверен, что изменение connector.class было бы хорошей идеей с учетом этого

0
ответ дан cricket_007 15 January 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: