2016-06-02 4 views
1

나는 httprequest를 얻을 수있는 nifi와 함께 작동하는 webservice를 가지고있다. 테스트를 위해 ReplaceText를 사용하여 응답에 특정 내용을 추가합니다. 이 작동하지만 내 목표는 httpresponse의 내용으로 flowfile (또는 그 값)을 추가하는 것입니다.httpresponse에 아파치 nifi flowfile을 추가하는 방법

usecase는 httprequest (REST Webservice)의 응답으로 정보 (Kafka, HDFS, ...)를 보낼 수 있다는 것입니다.

해결책을 찾고 있었지만 아무 것도 작동하지 않았습니다. Apache NiFi (Hortonworks HDF)의 표준 프로세서를 사용할 수 있습니까?

안부 N3

답변

2

당신은 HandleHttpResponse를 통해 다시 어떤 흐름 파일의 내용을 보낼 수 있어야합니다. > FetchHDFS - -> HandleHttpResponse

당신은 FetchHDFS하기 전에 몇 가지 더 많은 물건을 할 필요가 있고, 조작하는

HandleHttpRequest 예를 들어, 당신은 같은 것을 할 수 있어야 HDFS에서 파일을 반환하는 웹 서비스를 만들 수 있습니다 데이터,하지만 그것은 일반적인 접근 방법이 될 것입니다. 핵심은 들어오는 흐름 파일을 받아들이는 프로세서가 필요하다는 것입니다. 따라서 Kafka의 경우 PutKafka에서 쉽게 동일한 작업을 수행 할 수 있지만 GetKafka에서는 들어오는 흐름 파일을 허용하지 않기 때문에 쉽게 수행 할 수 없습니다. https://github.com/bbende/nifi-streaming-examples

그것은 "로그 수준에 대한 요청을 처리"라는 첫 번째 이미지를 참조하십시오

이 GitHub의의의 repo는 로컬 디스크에서 파일을 검색하는 웹 서비스의 예를 가지고있다.

+0

답변 해 주셔서 감사합니다. 제 문제는 카프카를 사용하고 싶다는 것입니다. 쓴대로 GetKafka는 들어오는 플로우 파일을 허용하지 않기 때문에 불가능합니다. 대신 PutKafka를 사용하는 것에 대해 언급하지만 어떻게해야합니까? 나는 조금 혼란스러워 :? –

+1

Kafka의 경우, POST 요청을 HandleHttpRequest -> PutKafka -> HandleHttpResponse로 이동시켜 Kafka 제작자의 역할을하는 웹 서비스를 만들 수 있다고 말했지만 현재는 웹 서비스를 만들 수있는 방법이 없습니다. 카프카 소비자로 행동하십시오. 들어오는 흐름 파일을 GetKafka에 허용하는 것이 합리적인지 알아야합니다. 현재는 소스 프로세서입니다. –

+0

그래서 HttpRequest를 기반으로 카프카에서 무언가를 보낼 수있는 옵션이 없습니까? 흠 ... MergeContent 또는 ReplaceText와 함께 작동해야합니까? 해봤지만 작동하지 않습니다. –