我是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}
。我还没有尝试过,所以我不知道这些设置是否正确,但这种方法应该有效。