Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache nifi 如何在ApacheNIFI中累积多个API调用响应?_Apache Nifi - Fatal编程技术网

Apache nifi 如何在ApacheNIFI中累积多个API调用响应?

Apache nifi 如何在ApacheNIFI中累积多个API调用响应?,apache-nifi,Apache Nifi,我应该在Nifi中运行远程API,响应是Json,如下所示: {"data":[{...}, {...}, ...],"nextPage":"http://example.com/nextCall"} 我必须继续调用API并累积“数据”,直到下一页变为空。 我已经通过使用属性和DistributedCacheServer实现了它,但它不是最佳的,因为数据大约有1000个元素,每个元素都是一个Json,有几个键和值。 于2019年2月16日更新: 这是我的工作流程: 这是我的多页处理程序: 这

我应该在Nifi中运行远程API,响应是Json,如下所示:

{"data":[{...}, {...}, ...],"nextPage":"http://example.com/nextCall"}
我必须继续调用API并累积“数据”,直到下一页变为空。
我已经通过使用属性和DistributedCacheServer实现了它,但它不是最佳的,因为数据大约有1000个元素,每个元素都是一个Json,有几个键和值。
于2019年2月16日更新:
这是我的工作流程:

这是我的多页处理程序:
这个想法:

  • 在输入时,您有一个有效的json作为内容(例如null),在某些属性中有一个目标url
  • 循环点:设置请求
    fragment.identifier=${UUID()}
    ,和
    fragment.count=2
  • 您可以向两个方向传输此文件:
    • fragment=0转到merge并在那里等待将包含http响应的第二个文件
    • fragment=1通过invokehttp
  • merge使用二进制concat并始终等待2个文件
  • 如果下一个url有效,转到2
  • 这个想法:

  • 在输入时,您有一个有效的json作为内容(例如null),在某些属性中有一个目标url
  • 循环点:设置请求
    fragment.identifier=${UUID()}
    ,和
    fragment.count=2
  • 您可以向两个方向传输此文件:
    • fragment=0转到merge并在那里等待将包含http响应的第二个文件
    • fragment=1通过invokehttp
  • merge使用二进制concat并始终等待2个文件
  • 如果下一个url有效,转到2

  • 您将如何处理累积的数据?这是一项对用户来说不必要的多次调用的服务。我想把它们作为对API调用方的响应发送回去@Daggett您能否分享您的流程和逻辑,因为我不明白分布式缓存映射在那里做什么。您将如何处理累积的数据?这是一种服务,它会对用户进行多次不必要的调用。我想把它们作为对API调用方的响应发送回去@你能分享你的流程和逻辑吗,因为我不明白分布式缓存映射在那里做什么。