ExecuteScript

Description:

Experimental - Executes a script given the flow file and a process session. The script is responsible for handling the incoming flow file (transfer to SUCCESS or remove, e.g.) as well as any flow files created by the script. If the handling is incomplete or incorrect, the session will be rolled back. Experimental: Impact of sustained usage not yet verified.

Tags:

script, execute, groovy, python, jython, jruby, ruby, javascript, js, lua, luaj, clojure, restricted

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Script EngineClojure
  • Clojure
  • ECMAScript
  • Groovy
  • lua
  • python
  • ruby
The engine to execute scripts
Script FilePath to script file to execute. Only one of Script File or Script Body may be used
Supports Expression Language: true
Script BodyBody of script to execute. Only one of Script File or Script Body may be used
Module DirectoryComma-separated list of paths to files and/or directories which contain modules required by the script.
Supports Expression Language: true

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
A script engine property to updateThe value to set it toUpdates a script engine property specified by the Dynamic Property's key with the value specified by the Dynamic Property's value
Supports Expression Language: true

Relationships:

NameDescription
successFlowFiles that were successfully processed
failureFlowFiles that failed to be processed

Reads Attributes:

None specified.

Writes Attributes:

None specified.

State management:

ScopeDescription
LOCAL, CLUSTERScripts can store and retrieve state using the State Management APIs. Consult the State Manager section of the Developer's Guide for more details.

Restricted:

Provides operator the ability to execute arbitrary code assuming all permissions that NiFi has.

See Also:

InvokeScriptedProcessor