我有一个使用nifi的工作网络服务,我得到一个httprequest并且可以重新发送它。对于测试,我使用ReplaceText为响应添加特定内容。这是有效的,但我的目标是添加一个流文件(或其值)作为httpresponse的内容。
用例是,我可以发送信息(来自Kafka,HDFS,...)作为httprequest(REST Web服务)的响应。
我正在搜索并测试解决方案,但没有任何效果。是否可以使用Apache NiFi(Hortonworks HDF)的标准处理器?
最好的问候 N3答案 0 :(得分:2)
您应该能够通过HandleHttpResponse发回任何流文件的内容。例如,要创建从HDFS返回文件的Web服务,您应该能够执行以下操作:
HandleHttpRequest - > FetchHDFS - > HandleHttpResponse
你可能需要在FetchHDFS之前做更多的事情来操纵数据,但那将是一般方法。关键是您需要一个接受传入流文件的处理器,因此对于Kafka,您可以轻松地使用PutKafka执行相同的操作,但不能使用GetKafka,因为它不接受传入的流文件。
此GitHub存储库有一个从本地磁盘检索文件的Web服务示例:https://github.com/bbende/nifi-streaming-examples
请参阅第一张图片,其中显示“处理日志级别请求”。