I have a NiFi flow that handles many jar and nar archive files as incoming flowfiles. I am trying to figure out a way I can extract files from these archives - for example, in most cases one incoming jar has a number of files in its archive. So one flowfile should yield N output flowfiles if there are N files in the archive.
I do not have /usr/bin/jar on my system. I have read, though, that unzip can be employed to extract from jars, and I have that. So I am trying to use that. How can I configure an ExecuteStreamCommand processor to take an incoming flowfile as stdin, and output each member of the archive as one of N output flowfiles to stdout? Ideally I want to avoid having to output my streaming flowfile to a temporary physical directory; I want to perform the extraction entirely in stream. I have used ExecuteStreamCommand before but can't recall how to get it to work for this use case. Thanks for any help.