如何在Nifi Groovy脚本中获取file.creationtime属性

时间:2018-08-22 03:07:30

标签: groovy apache-nifi

我需要获取文件创建时间,该时间需要存储在数据库中。我正在使用executescript处理器。 flowFile.getAttribute('file.creationTime')返回null。知道如何获取流文件的file.creationTime属性值吗?

1 个答案:

答案 0 :(得分:0)

ExecuteScript处理器用于运行任意脚本,而Apache NiFi的 native 处理器无法完成这些脚本。 ListFile处理器将检索有关文件的信息,并且如果Include File Attributes处理器属性设置为true,它将在属性file.creationTime中包括元数据,该元数据包括文件创建时间。 。

如果此属性为null,则有几种可能的原因和调查方法:

  1. 停止ListFile之后的处理器,然后右键单击该连接以显示带有选项 List Queue 的上下文菜单。这将使您检查队列中的流文件。您可以检查他们的此属性(以及其他属性),以查看是否已填充该属性。您也可以使用LogAttribute处理器将flowfile属性打印到$NIFI_HOME/logs/nifi-app.log文件中。
    • 如果不是,则您的ListFile处理器可能将该处理器属性设置为false,或者文件系统可能不支持该元数据。
    • 如果是,请检查您正在执行的Groovy参考是否正确,并指向具有该属性的流文件。