Http как источник для Nifi - не работает должным образом

Я пытаюсь отправить файл через почтальона с запросом POST, и этот файл необходимо сохранить в локальной FS. Перепробовал все 4 варианта GetHttp,InvokeHttp,ListenHttp,HandleHttpRequest. Похоже, GetHttp,InvokeHttp требует, чтобы веб-сервис был запущен в конце, который отправляет запрос POST, что не соответствует нашему варианту использования. Я пробовал использовать ListenHttp, но не могу изменить параметр имени хоста по умолчанию, который указывает на localhost. Есть ли способ это изменить?

И я также пробовал использовать HandleHttpRequest, и кажется, что клиент, получающий запрос, должен отправить подтверждение для завершения соединения на стороне отправителя, руководство пользователя nifi не предоставляет пример того, как это использовать или настраивать. Может ли кто-нибудь предоставить мне пример использования, о котором я упоминал.


person Vignesh I    schedule 28.06.2017    source источник


Ответы (1)


ListenHttp запускает встроенный сервер Jetty и не указывает имя хоста при создании соединителя, который, согласно документации Jetty, должен быть привязан ко всем доступным сетевым интерфейсам:

«Сетевой интерфейс, к которому этот соединитель привязывается как IP-адрес или имя хоста. Если значение null или 0.0.0.0, то привязать ко всем интерфейсам».

Чтобы использовать HandleHttpRequest, вам также необходимо использовать HandleHttpResponse ... вы в основном получаете запрос от клиента, который превращается в файл потока, передаете файл потока через любую обработку, которую хотите выполнить, а затем отправляете его в HandleHttpResponse, чтобы ответить обратно на клиент. Здесь есть шаблон, который показывает, как его использовать:

https://cwiki.apache.org/confluence/download/attachments/57904847/Hello_NiFi_Web_Service.xml?version=1&modificationDate=1449369797000&api=v2

person Bryan Bende    schedule 28.06.2017
comment
Спасибо. Я попробую HandlHttpRequest с HandleHttpResponse - person Vignesh I; 29.06.2017