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")}
会去掉空格并导致:
这就解决了问题。
我正在处理生成流文件的 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")}
会去掉空格并导致:
这就解决了问题。