The problem I see with the Scan Processors is they don’t return anything other 
than matched or not matched. And Lookup Services assume you have a specific key 
you’re trying to match. I need to look for regular expression matches by 
comparing against a list of regular expressions not specific values. Let’s say 
I have a file named 123_blah_test_blah.csv, I might have a regular expression 
defined that says if the file name matches .*blah_test_blah(?!_somethingelse).* 
then it should goto directory /tmp/blah_test


From: Andrew Grande <>
Sent: Monday, February 19, 2018 3:48 PM
Subject: Re: Routing Files Based on Dynamic Pattern Matching

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