首页 > 解决方案 > 如何在 nifi groovy 脚本中获取 file.creationtime 属性

问题描述

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

标签: groovyapache-nifi

解决方案


该处理器用于运行 Apache NiFi 的本机处理器ExecuteScript无法完成的任意脚本。处理器将检索有关文件的信息,如果处理器属性设置为,它将在属性中包含元数据,包括文件创建时间。ListFileInclude File Attributestruefile.creationTime

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

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

推荐阅读