从Nifi消费Rest API

问题描述:

以下是我使用安全休息api的nifi作业。从Nifi消费Rest API

enter image description here

当我运行invokeHttp处理器,我收到以下异常:

2017-09-19 07:58:59,744 ERROR [Timer-Driven Process Thread-3] o.a.nifi.processors.standard.InvokeHTTP 
java.lang.NullPointerException: null 
     at org.apache.nifi.processors.standard.InvokeHTTP.setHeaderProperties(InvokeHTTP.java:859) ~[nifi-standard-processors-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.processors.standard.InvokeHTTP.configureRequest(InvokeHTTP.java:814) ~[nifi-standard-processors-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.processors.standard.InvokeHTTP.onTrigger(InvokeHTTP.java:613) ~[nifi-standard-processors-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) [nifi-api-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1099) [nifi-framework-core-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136) [nifi-framework-core-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) [nifi-framework-core-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132) [nifi-framework-core-1.1.0.2.1.1.0-2.jar:1.1.0.2.1.1.0-2] 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_77] 
     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_77] 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_77] 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_77] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_77] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_77] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77] 

错误看起来像是头部丢失。以下是处理器性能:

enter image description here enter image description here

我能够打到从Java客户端的REST API。这里是我的代码:

WebResource webResource = client.resource(siteUrl); 
ClientResponse response1 = webResource.accept("application/json") 
     .header("Authorization ","Token " + key) 
     .get(ClientResponse.class); 
+0

什么nifi的版本,您正在使用? – daggett

+0

我使用的是属于HDF 2.4.2.0的Nifi –

这似乎是其在下列情况下出现合法错误:

  • GET请求
  • 没有传入连接InvokeHttp
  • “将响应体的属性'未设置

我相信你可以通过使用GenerateFl解决该问题owFile作为InvokeHttp的触发器。

下面是我对这个问题产生,报告此感谢一个JIRA: https://issues.apache.org/jira/browse/NIFI-4399