Amazon s3 如何通过匹配文件名从S3成对地获取文件?

Amazon s3 如何通过匹配文件名从S3成对地获取文件?,amazon-s3,apache-nifi,Amazon S3,Apache Nifi,我的S3存储桶中有以下文件 . |__ bob.jpg |__ bob.jpg.gz |__ sam.jpg |__ sam.jpg.gz |__ joe.jpg |__ joe.jpg.gz 我有一个提取文件的FetchS3处理器。但是,现在它获取所有文件,我要做的是根据名称成对地获取文件。例如,在一个过程中,我需要两个bob*文件,然后是两个sam*文件,最后是两个joe*文件 由于我将每一对文件都输入到python脚本中,因此我不能允许这样的事情发生: python myscript.p

我的
S3存储桶中有以下文件

.
|__ bob.jpg
|__ bob.jpg.gz
|__ sam.jpg
|__ sam.jpg.gz
|__ joe.jpg
|__ joe.jpg.gz
我有一个提取文件的
FetchS3
处理器。但是,现在它获取所有文件,我要做的是根据名称成对地获取文件。例如,在一个过程中,我需要两个
bob*
文件,然后是两个
sam*
文件,最后是两个
joe*
文件

由于我将每一对文件都输入到python脚本中,因此我
不能允许这样的事情发生:

python myscript.py-file1=“bob.jpg”-file2=“sam.jpg”

我要寻找的是以正确的文件对获取文件,以便在每次传递时调用python脚本,如下所示:

python myscript.py-file1=“bob.jpg”-file2=“bob.jpg.gz”

python myscript.py-file1=“sam.jpg”-file2=“sam.jpg.gz”

python myscript.py-file1=“joe.jpg”-file2=“joe.jpg.gz”

我正在考虑使用一个
UpdateProcessor
来定义一个
jpg
文件,如果该文件存在,则自动假定对于相同的文件名也必须有一个
jpg.gz
文件

再说一次,这个想法说起来容易做起来难,我没有真正取得任何进展。

我创建了一个可以让你做你想做的事情的网站。我继续假设命名策略是恒定的(即,
joe.jpg
将始终转换为
joe.jpg.gz

此模板使用
ListFile
从目录中仅读取“源”文件(无
.gz
),然后更新属性,使其具有
image\u文件名
gzip\u文件名
,并将它们传递给
ExecuteStreamCommand
处理器,该处理器将这些属性作为命令的参数引用(
echo
在本例中)

也许有一种更简洁的方法可以做到这一点,但我还没有用
ListFile
/
FetchFile
处理器做过很多工作