我的HandleHttpRequest在一个请求中接收多个文件。我需要处理所有这些文件,然后仅需要发送响应。我查看了它的来源以进行扩展,但是由于大多数方法都是私有的,因此没有简单的方法。
我请求将新属性(类似于flowfiles.count)添加到流文件中,以便可以实现等待/同步机制。
或在HttpContextMap中定义一个方法,以获取注册时可以提供的流文件数。
我现在可以使用任何解决方案吗?
预先感谢
答案 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}},对于请求而言是唯一的。