Apache NiFi:如何重命名压缩文件且不修改内部content.txt文件名?
解决NiFi中CompressContent重命名压缩包但不修改内部文件名的问题
问题原因
你当前的流程里,CompressContent处理器默认会将当前FlowFile的文件名作为压缩包内的文件名称。你遇到的内部文件名跟着压缩包改名的问题,大概率是流程顺序或处理器配置有误——比如误在压缩后修改原始文件属性,或是错配了处理器参数。
正确流程与配置
完全可以实现你的需求,调整流程和CompressContent的配置即可:
- ConvertRecord:完成数据转换操作
- UpdateAttribute:设置
filename属性为content.txt,将FlowFile重命名为目标内部文件名 - CompressContent:核心配置调整:
- 选择目标压缩格式(如GZIP)
- 将**
Compressed Filename**参数直接设为你想要的压缩包名称,例如compressed.gz - 保持
Keep Source File默认值(false),压缩后原始FlowFile会被自动移除
- 无需后续添加
UpdateAttribute修改压缩包文件名
这样配置后,最终生成的compressed.gz压缩包内的文件会保持content.txt的名称,完全符合你的需求。
补充说明
如果需要保留原始的content.txt文件,可将CompressContent的Keep Source File设为true,此时会同时输出两个FlowFile:原始的content.txt和压缩后的compressed.gz,两者属性互不干扰。
内容的提问来源于stack exchange,提问作者Andre61
相关产品推荐
相关产品推荐

