首页 > 解决方案 > 是否可以在 PutTCP 中使用动态主机名?

问题描述

我有一个简单的流程,应该执行以下操作:

我的解决方案是通过HandleHttpRequests Flow 接受 http 请求。默认设置。

成功后,下一个流程是PutTCP,其端口:9100 和主机名:${http.request.uri:substringAfterLast('/'):trim()}

最后,通过HandleHttpResponse向客户端发送 200 或 500 状态响应。

问题是 PutTCP EL 表达式仅限于变量注册表,根本不能使用流文件变量。所以上面的表达式总是空的。

有没有办法将主机名从前一个处理器传递给PutTCP处理器?

标签: apache-nifi

解决方案


不,PutTCP 不支持读取 FF 属性来更改目标主机。

您可以使用 ExecuteScript 并使用 Python 或 Groovy 来处理创建动态 TCP 套接字。


推荐阅读