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 <helloj...@gmail.com>
Sent: Monday, February 19, 2018 4:14 PM
To: users@nifi.apache.org
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 
<apere...@gmail.com<mailto:apere...@gmail.com>> 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 
<swe...@weeksconsulting.us<mailto:swe...@weeksconsulting.us>> 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

Reply via email to