有没有办法通过invokeHttp nifi处理器调用远程休息服务并永久更改其URL。在我的情况下,我需要传递2个参数来获取请求,我需要一次又一次地更改它们。是否有任何nifi处理器可用于将我的参数作为属性写入其中并因此将其与invokehttp连接?我在invokehttp远程url中的参数会发生变化,是否有任何处理器或几个处理器可以帮我完成这项任务?
答案 0 :(得分:3)
Bryan answered this with a comment回复您之前提出的问题。
要提供在请求URI中用作参数的动态值,只需使用Apache NiFi Expression Language引用传入流文件上的属性。许多处理器都可以提供这些属性,但UpdateAttribute
可能是您想要启动的地方。例如,如果该处理器设置了两个属性(username
和threshold
),那么您将拥有一系列这样的流程文件:
Flowfile 1 | username 'andy' | threshold '27'
Flowfile 2 | username 'bryan' | threshold '12'
Flowfile 3 | username 'sally' | threshold '22'
您的InvokeHTTP
处理器将配置为https://my.remote.service:8080/incoming?username=${username}&threshold=${threshold}
之类的URI。因此,当流文件通过处理器时,您的传出HTTP请求将是:
https://my.remote.service:8080/incoming?username=andy&threshold=27
https://my.remote.service:8080/incoming?username=bryan&threshold=12
https://my.remote.service:8080/incoming?username=sally&threshold=22