UpdateAttribute 和 PutFile - 文件名有单引号吗?

UpdateAttribute and PutFile - filename gets a single-quote?

我正在处理生成流文件的 Nifi 进程组。我正在尝试更新 filename 属性,但我注意到文件中也添加了一个单引号。

在那里,你看到 #{snmp.hostname}-${now()}.json

这确实有效,但是当我查看输出时我看到:

当我保持 flowfile 文件名不变时,我没有看到引号。这是我的 PutFile 设置,几乎是默认设置:

这是我不更新属性时的样子,您看到文件:6fd0fcec-c838-4938-a600-5dbe99c4a370(我也注意到该流文件名称中有前导 space?)。

运行 RHEL 8.5 机器上的 NiFi 1.16.0。

好的,我找到问题了。问题是 now() 中的日期格式包含空格。如果有空格,NiFi 似乎会在文件名周围加上引号。将 ${now()} 替换为 ${now():format("yyyy-MM-dd_HH:mm:ss.SSS'Z'", "America/Los_Angeles")} 会去掉空格并导致:

这就解决了问题。