nifi表达式在文件名中的concat文本

时间:2017-03-21 09:54:37

标签: apache-nifi

我在nifi数据流中创建了一个RouteOnAttribute处理器,我希望它只选择要解析的某些文件。 在属性中我创建了一个属性“filetofetch” 使用以下表达式

${filename:contains('INCOMING.D151221') 

我需要获取文件名INCOMING.D< YYYYMMDD> 所以今天2017年3月21日,文件名将是

INCOMING.D20170321

我尝试使用类似这样的文件来添加文件名

${filename:contains('INCOMING.D'+ ${now():format('yyyymmdd')} )}

但我不能用日期前缀连接 有什么建议 ?

1 个答案:

答案 0 :(得分:3)

Havmaage,

您可以使用表达式语言中的append来连接,如下所示。

您必须使用updateAttribute将'Incoming.D'存储在一个属性名称中,如下所示。

   fileStartsWith:Incoming.D
   Date:${now():format('yyyyMMdd')

然后最后使用routeonattribute检查如下。

    ${filename:contains(${fileStartsWith:append(${date})})}

你不能在Nifi中与'+'结合。

修改-1:

  Date:${now():format('yyyyMMdd')