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