The issue with RouteOnAttribute is that the Regular Expression must be known when the NiFi Workflow is built. There are hundreds of unique patterns and each match must go to a different location in the target system. It also needs to be updatable without changing the NiFi workflow.
Thanks Shawn From: Juan Sequeiros <[email protected]> Sent: Monday, February 19, 2018 4:14 PM To: [email protected] Subject: Re: Routing Files Based on Dynamic Pattern Matching You could also RouteOnAttribute [1] doing the same regular expression checks using NIFI expression language [2]. For instance, I can create a route for "DATA A" if my attribute "filename" matches a regular expression. ${filename:find'SomeJavaRegEx')} If you can control your workflow maybe bring it into NIFI using Rest and giving it headers which one of them can be "NifiData:MyData" Then depending what "Listener" you are using you can grab that header and make routing decisions of it with RouteOnAtrrbiute" [1] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.5.0/org.apache.nifi.processors.standard.RouteOnAttribute/index.html [2] https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html On Mon, Feb 19, 2018 at 4:48 PM Andrew Grande <[email protected]<mailto:[email protected]>> wrote: Maybe take a look at one of the ScanContent/Attribute processors? It allows to map in a reloadable external file. Or, better yet, one of the LookupService variants, which is more generic. HTH, Andrew On Mon, Feb 19, 2018, 3:10 PM Shawn Weeks <[email protected]<mailto:[email protected]>> wrote: Hi, I’m looking for some ideas on how to handle a workflow I’m developing. I have NiFi monitoring a drop off location where files are delivered. Files from this drop off location need to be routed to various target directories based on a series of file name patterns. Currently I have a custom processor I developed that queries a database table comparing the incoming file name against known file name patterns stored as regular expressions and attaches those attributes to the flow file. I feel like there is a better way to do this but I’m still fairly new to NiFi. Thanks Shawn Weeks
