HandleHttpRequest处理器中的流文件数

时间:2019-01-04 21:43:32

标签: apache-nifi

我的HandleHttpRequest在一个请求中接收多个文件。我需要处理所有这些文件,然后仅需要发送响应。我查看了它的来源以进行扩展,但是由于大多数方法都是私有的,因此没有简单的方法。

我请求将新属性(类似于flowfiles.count)添加到流文件中,以便可以实现等待/同步机制。

或在HttpContextMap中定义一个方法,以获取注册时可以提供的流文件数。

我现在可以使用任何解决方案吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

从nifi 1.8.0开始,该功能存在。

根据HandleHttpRequest 1.8.0 processor的其他信息:

要处理包含多个部分的Content-Type:#include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); getchar(); return 0; } 的请求,需要格外注意。每个部分都会生成自己的FlowFile。对于每个这些FlowFile,都会写入一些特殊属性:

  • multipart/form-data
  • http.context.identifier
  • http.multipart.fragments.sequence.number

这些属性可用于为HandleHttpResponse处理器实现门控机制,以等待序列号为http.multipart.fragments.total.number的FlowFiles的处理,直到处理多达http.multipart.fragments.sequence.number个流文件为止,属于同一个{ {1}},对于请求而言是唯一的。