在Apache NiFi中,使用FetchS3Object从S3存储桶读取,我发现它可以读取存储桶中的所有对象并添加它们.可能吗:
要将处理器配置为只读取现在添加的对象,而不是已经存在的对象?
如何让它读取存储桶中的特定文件夹?
NiFi看起来很棒,只是缺少他们的文档中至少流行的处理器的例子.
ListS3和FetchS3Object处理器的组合将执行此操作:
ListS3 - 枚举您的S3存储桶并生成引用每个对象的流文件.您可以配置Prefix属性以指定存储桶中的特定文件夹以仅枚举子集.ListS3使用NiFi的状态功能跟踪它所读取的内容,因此当新对象添加到存储桶时,它将生成新的流文件.
FetchS3Object - 将S3对象读入流文件内容.您可以通过将FetchS3Object的Bucket属性配置为${s3.bucket}
和Object Key属性来使用ListS3的输出${filename}
.