如何通过匹配文件名从S3中获取文件?
我在我的S3 bucket
上有以下文件。如何通过匹配文件名从S3中获取文件?
.
|__ bob.jpg
|__ bob.jpg.gz
|__ sam.jpg
|__ sam.jpg.gz
|__ joe.jpg
|__ joe.jpg.gz
我有一个FetchS3
处理器提取文件。但是,现在它提取所有文件,我想要做的是基于名称成对读取文件。例如,在一次传递中,我需要bob*
文件,然后是sam*
文件,最后是两个joe*
文件。
因为我饲养每对文件放到我的python脚本的路线,我cannot allow
这样的事情:
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
文件以及相同的文件名。
再说一遍,这个想法说起来容易做起来难,我也没有真正去过任何地方。
我创建了一个template,您应该可以从中完成要查找的内容。我假设命名策略是恒定的(即joe.jpg
将总是翻译为joe.jpg.gz
)。
此模板使用ListFile
阅读只“源”,从目录中的文件(无.gz
),然后更新的属性有一个image_filename
和gzip_filename
,并将它们传递到ExecuteStreamCommand
处理器,其引用的属性参数到命令(在这种情况下为echo
)。
可能有一个更简洁的方法来做到这一点,但我还没有做了大量的工作与ListFile
/FetchFile
处理器。