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.


From: Juan Sequeiros <>
Sent: Monday, February 19, 2018 4:14 PM
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.


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"


On Mon, Feb 19, 2018 at 4:48 PM Andrew Grande 
<<>> 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.


On Mon, Feb 19, 2018, 3:10 PM Shawn Weeks 
<<>> 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.

Shawn Weeks

Reply via email to