首页 > 解决方案 > Apache NiFi - 自定义目录上的 PutGCSObject

问题描述

我正在绘制一个 NiFi 管道,用于将文件从远程文件系统移动到 Google Cloud Storage 上的存储桶。目标是根据文件名将文件移动到存储桶中的特定文件夹(如果它们不存在则自动创建)。
输入路径(例如bucketname/subdir)作为处理器的“bucket”属性会返回错误。
你们中有人做过这个任务吗?如何将文件上传到 Google Cloud 存储桶中的特定子文件夹?
提前致谢

标签: google-cloud-platformgoogle-cloud-storageapache-nifipipeline

解决方案


我相信您需要将subdir作为关键属性的一部分放在该处理器上——GCS 存储桶是一个级别,其中的所有对象都可以位于子目录中,但该路径是关键的一部分。key 属性支持 NiFi 表达式语言,因此您可以根据流文件属性等构造各种键(例如literalFolder/${subDirFromAttribute}/${filename})。


推荐阅读