如何在InvokeHttp nifi处理器中调用远程休息服务?

时间:2017-08-08 14:41:17

标签: rest apache-nifi webservices-client

有没有办法通过invokeHttp nifi处理器调用远程休息服务并永久更改其URL。在我的情况下,我需要传递2个参数来获取请求,我需要一次又一次地更改它们。是否有任何nifi处理器可用于将我的参数作为属性写入其中并因此将其与invokehttp连接?我在invokehttp远程url中的参数会发生变化,是否有任何处理器或几个处理器可以帮我完成这项任务?

1 个答案:

答案 0 :(得分:3)

Bryan answered this with a comment回复您之前提出的问题。

要提供在请求URI中用作参数的动态值,只需使用Apache NiFi Expression Language引用传入流文件上的属性。许多处理器都可以提供这些属性,但UpdateAttribute可能是您想要启动的地方。例如,如果该处理器设置了两个属性(usernamethreshold),那么您将拥有一系列这样的流程文件:

  1. Flowfile 1 | username 'andy' | threshold '27'
  2. Flowfile 2 | username 'bryan' | threshold '12'
  3. Flowfile 3 | username 'sally' | threshold '22'
  4. 您的InvokeHTTP处理器将配置为https://my.remote.service:8080/incoming?username=${username}&threshold=${threshold}之类的URI。因此,当流文件通过处理器时,您的传出HTTP请求将是:

    1. https://my.remote.service:8080/incoming?username=andy&threshold=27
    2. https://my.remote.service:8080/incoming?username=bryan&threshold=12
    3. https://my.remote.service:8080/incoming?username=sally&threshold=22