【问题标题】:How to add a apache nifi flowfile into a httpresponse如何将 apache nifi 流文件添加到 httpresponse
【发布时间】:2016-06-02 07:59:06
【问题描述】:

我有一个带有 nifi 的工作网络服务,在那里我得到一个 httprequest 并可以响应它。对于测试,我使用 ReplaceText 将特定内容添加到响应中。这可行,但我的目标是添加一个流文件(或它的值)作为 httpresponse 的内容。

用例是,我可以发送信息(来自 Kafka、HDFS 等)作为 httprequest(REST Web 服务)的响应。

我正在寻找和测试解决方案,但没有任何效果。是否可以使用 Apache NiFi (Hortonworks HDF) 的标准处理器?

最好的问候 n3

【问题讨论】:

    标签: httpresponse apache-nifi


    【解决方案1】:

    您应该能够通过 HandleHttpResponse 将任何流文件的内容发回。例如,要创建一个从 HDFS 返回文件的 Web 服务,您应该能够执行以下操作:

    HandleHttpRequest -> FetchHDFS -> HandleHttpResponse

    您可能需要在 FetchHDFS 之前做更多的事情来操作数据,但这是一般的方法。关键是您需要一个接受传入流文件的处理器,因此对于 Kafka,您可以轻松地使用 PutKafka 做同样的事情,但不是 GetKafka,因为它不接受传入的流文件。

    此 GitHub 存储库有一个从本地磁盘检索文件的 Web 服务示例:https://github.com/bbende/nifi-streaming-examples

    查看第一张图片,其中显示“处理日志级别请求”。

    【讨论】:

    • 感谢您的回答。我的问题是,我想使用 Kafka,正如您所写,这是不可能的,因为 GetKafka 不接受传入的流文件。您提到要改用 PutKafka,但是如何使用呢?我有点困惑:?
    • 对于 Kafka,我是说您可以通过将 POST 请求转到 HandleHttpRequest -> PutKafka -> HandleHttpResponse 来创建一个充当 Kafka 生产者的 Web 服务,但目前没有办法制作一个充当 Kafka 消费者的 Web 服务。我们必须看看允许传入的流文件到 GetKafka 是否有意义,目前它是一个源处理器。
    • 所以没有选项可以根据 HttpRequest 从 Kafka 发送内容?嗯......它应该与 MergeContent 或 ReplaceText 一起使用吗?我试过了,还是不行。
    • 目前没有,因为 GetKafka 不支持传入连接。您只能将 HandleHttpRequest/Response 与处理器一起使用,而不是接收流文件并用要发回的内容覆盖内容。我会鼓励你给 NiFi 开发者社区写个便条,开始讨论如何支持 GetKafka nifi.apache.org/mailing_lists.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 2021-06-12
    • 1970-01-01
    • 2016-11-13
    • 2020-10-14
    • 1970-01-01
    相关资源
    最近更新 更多