Apache nifi NiFi:基于文件类型的路由,例如csv、tsv、xlsx

Apache nifi NiFi:基于文件类型的路由,例如csv、tsv、xlsx,apache-nifi,Apache Nifi,我有一个已连接的SFTP服务器,正在尝试根据以下类型路由文件:.csv、.tsv和.xlsx。现在,我只是通过命令行上传测试文件 我的流程是: GetSFTP (with correct hostname, etc.) -> RouteOnAttribute -> LogAttribute (will dump elsewhere soon, this is just for testing) 我想,我的问题是我在RouteOnAttribute中创建的属性不正确: 我是否正确地

我有一个已连接的SFTP服务器,正在尝试根据以下类型路由文件:
.csv
.tsv
.xlsx
。现在,我只是通过命令行上传测试文件

我的流程是:

GetSFTP (with correct hostname, etc.) ->
RouteOnAttribute ->
LogAttribute (will dump elsewhere soon, this is just for testing)
我想,我的问题是我在
RouteOnAttribute
中创建的属性不正确:


我是否正确地假设这实际上不会出现在
.csv
上,因为它在技术上不是文件名的一部分?在文件类型上路由的正确表达式是什么?谢谢

您需要一些信息来告诉您文件的类型

GetSFTP应该从sftp服务器上的文件中获取文件名,因此如果这些文件具有适当的扩展名,那么我希望RouteOnAttribute能够正常工作


如果文件名没有合适的扩展名,那么您唯一能做的就是尝试使用identifymetype来确定文件的类型,然后在mime.type属性上进行路由。

您需要一些信息来告诉您文件的类型

GetSFTP应该从sftp服务器上的文件中获取文件名,因此如果这些文件具有适当的扩展名,那么我希望RouteOnAttribute能够正常工作


如果文件名没有适当的扩展名,那么您唯一能做的就是尝试使用identifymetype来确定它是什么类型的文件,然后在mime.type属性上路由。

GetSFTP不推荐使用吗?我应该改用List/FetchSFTP组合吗?我看到的是:它只是不同的方法,列表/获取可能更常见,因为您可以在集群中分发列表结果。而且,IdentifyMimeType也不起作用。。。我的处理器没有抛出错误,并且我的IP地址正确。上传的文件无法读入还有其他原因吗?请澄清“IdentificationMimetype未工作”是什么意思,IdentificationMimetype处理器后面的mime.type流文件属性的值是多少?例如,我无法将文件从SFTP上载到AWS环境,我的NiFi容器位于该环境中。所以现在这似乎不是一个NiFi问题,而是一个让机器之间正确对话的问题。GetSFTP不推荐了吗?我应该改用List/FetchSFTP组合吗?我看到的是:它只是不同的方法,列表/获取可能更常见,因为您可以在集群中分发列表结果。而且,IdentifyMimeType也不起作用。。。我的处理器没有抛出错误,并且我的IP地址正确。上传的文件无法读入还有其他原因吗?请澄清“IdentificationMimetype未工作”是什么意思,IdentificationMimetype处理器后面的mime.type流文件属性的值是多少?例如,我无法将文件从SFTP上载到AWS环境,我的NiFi容器位于该环境中。所以现在这似乎不是一个NiFi问题,而是一个让机器之间正确对话的问题