Expression Language

The NiFi Expression Language provides the ability to reference the attributes of FlowFiles, compare them to other values, and manipulate their values.

As you extract attributes from content of the FlowFiles and add user-defined attributes, they do not help much as an operator unless you have some mechanism by which you can use them. The NiFi Expression Language allows you to access and manipulate FlowFile attribute values as you configure your flows. Not all processor properties allow the Expression Language to be used, but many do. In order to determine whether or not a processor or service property supports the Expression Language, click in the property value field. The eligibility indicators show if Expression Language is supported () or unsupported (). Additionally, you can hover over the Help icon next to the property name. The Help icon provides a tooltip that displays the Expression Language scope.

To configure an eligible property to utilize Expression Language, use the $ symbol as the start, with the expression enclosed in curly braces:
${Expression}
If you start your new entry with the start delimiter ${, selecting the keystroke control+space shows a list of available functions. Help text describing this process appears when you hover over the Expression Language eligibility indicator.

An expression can be as simple as an attribute name. For example, to reference the uuid attribute, you can simply use the value ${uuid}. If the attribute name begins with any character other than a letter, or if it contains a character other than a number, a letter, a period (.), or an underscore (_), you need to quote the attribute name. For example, ${My Attribute Name} is not valid, but ${'My Attribute Name'} refers to the My Attribute Name attribute.