如何在Nifi中的变量中保存文件名



我是Nifi的新手,我正在尝试获取一个文件名,并将该文件名保存在一个变量中,以便稍后在该过程中使用。

基本上,我有一个文件(data_yyyyMMdd.tar.gz(,其中包含两个.txt文件(1.txt和2.txt(,在解压缩该文件之前,我想将其名称保存到一个变量中,然后使用该变量将内容添加到解压缩的文件中。

文件内容(原始(:1.文本id |名称1|苹果2|橙色

用文件名更新后的文件内容id | name | filename1|apple|data_yyyyMMdd.tar.gz2|橙色|数据_yyyyMMdd.tar.gz

我成功地解压到文件中,但是,我无法将.tar.gz文件名保存在变量中,并将其值添加到每个文件的内容中。

你们能帮我吗?

根据用于获取tar.gz文件的处理器,您可能已经将名为filename的FlowFile属性设置为tar.gz的文件名。拆包后,您可能会发现filename属性被覆盖(但不确定(,因此在拆包之前,请使用UpdateAttribute将filename属性复制到其他属性中。例如,可以在UpdateAttribute中添加名为original.filename的属性,并将其值设置为${filename}

拆包后,您可以使用UpdateRecord将原始文件名添加为每条记录中的一个字段,我认为可以将Replacement Value Strategy设置为Literal Value,并将属性/filename添加为${original.filename}。我还没有尝试过,所以我不知道这些设置是否正确,但这种方法应该有效。

最新更新