我的S3 bucket
上有以下文件。
.
|__ 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
文件。
同样,这个想法说起来容易做起来难,而且我到处都没有。
答案 0 :(得分:1)
我创建了一个template,您应该可以从中找到所需的内容。我假设命名策略是不变的(即joe.jpg
将始终转换为joe.jpg.gz
)。
此模板使用ListFile
从目录中仅读取 “源”文件(无.gz
),然后更新属性以获得image_filename
和gzip_filename
,并将它们传递给ExecuteStreamCommand
处理器,该处理器将属性作为命令的参数引用(在本例中为echo
)。
可能有一种更简洁的方法可以做到这一点,但我还没有完成ListFile
/ FetchFile
个处理器的大量工作。