Подпишитесь на HTTP-поток с помощью Apache NiFi

#apache-nifi

Вопрос:

Я хотел бы использовать Apache NiFi для подписки на конечную точку REST, которая непрерывно отправляет потоковые данные, и обрабатывать эти данные с помощью NiFi.

Короче говоря, конечная точка REST предоставляется внешней организацией. Я использую базовую аутентификацию для входа в систему. У меня нет контроля над конфигурацией этой конечной точки. Я могу только использовать его данные.

При подключении к конечной точке сервер никогда не завершает этот запрос. Вместо этого связь сохраняется. Когда сервер обрабатывает обновления своей базы данных, копия этих данных передается потребителю через эту конечную точку. Это позволяет мне копировать изменения в базу данных.

Время от времени сервер отправляет пустые ответы, чтобы поддерживать соединение. Я буду фильтровать эти ответы «сердцебиения».

Как я могу смоделировать этот поток данных в Apache NiFi? Я думал об использовании процессора InvokeHTTP, но, по-видимому, он не поддерживает потоки данных. Кроме того, как бы мне пришлось настраивать процессоры для работы с потоковой передачей данных. Другими словами, процессор должен только один раз подключиться к конечной точке HTTP, никогда не прерывать это соединение и никогда не подключаться повторно с использованием заранее определенного интервала.

Спасибо.

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

1. Я никогда не использую и не слышу потоковую передачу на основе rest. tcp-сокеты больше подходят для этого типа работ.

2. Здравствуйте, спасибо. Я могу согласиться, но опять же, мы используем API REST от внешней организации и, к сожалению, не можем изменить способ доставки данных нам.

3. Не стандартная потоковая интеграция. Вы можете написать пользовательский процессор на основе кода listentcp. Или автономное приложение, которое преобразует эту нестандартную связь в нечто стандартное для nifi.