Expression Language in the Application

The Expression Language is used heavily throughout the NiFi application for configuring Processor properties. Not all Processor properties support the Expression Language, however. Whether or not a Property supports the Expression Language is determined by the developer of the Processor when the Processor is written. However, the application strives to clearly illustrate for each Property whether or not the Expression Language is supported.

In the application, when configuring a component property, the User Interface provides an Information icon ( ) next to the name of the Property. Hovering over this icon with the mouse will provide a tooltip that provides helpful information about the Property. This information includes a description of the Property, the default value (if any), historically configured values (if any), and the evaluation scope of this property for expression language. There are three values and the evaluation scope of the expression language is hierarchical: NONE → VARIABLE_REGISTRY → FLOWFILE_ATTRIBUTES.

  • NONE - expression language is not supported for this property

  • VARIABLE_REGISTRY is hierarchically constructed as below:

    • Variables defined at process group level and then, recursively, up to the higher process group until the root process group.

    • Variables defined in custom properties files through the nifi.variable.registry.properties property in nifi.properties file.

    • Environment variables defined at JVM level and system properties.

  • FLOWFILE_ATTRIBUTES - will use attributes of each individual flow file, as well as those variables defined by the Variable Registry, as described above.