Experimental - Invokes a script engine for a Processor defined in the given script. The script must define a valid class that implements the Processor interface, and it must set a variable 'processor' to an instance of the class. Processor methods such as onTrigger() will be delegated to the scripted Processor instance. Also any Relationships or PropertyDescriptors defined by the scripted processor will be added to the configuration dialog. The scripted processor can implement public void setLogger(ComponentLog logger) to get access to the parent logger, as well as public void onScheduled(ProcessContext context) and public void onStopped(ProcessContext context) methods to be invoked when the parent InvokeScriptedProcessor is scheduled or stopped, respectively. NOTE: The script will be loaded when the processor is populated with property values, see the Restrictions section for more security implications. Experimental: Impact of sustained usage not yet verified.
script, invoke, groovy, python, jython, jruby, ruby, javascript, js, lua, luaj
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.
Display Name | API Name | Default Value | Allowable Values | Description |
---|---|---|---|---|
Script Engine | Script Engine | ECMAScript DEPRECATED |
| Language Engine for executing scripts |
Script File | Script File | Path to script file to execute. Only one of Script File or Script Body may be used This property requires exactly one file to be provided.. Supports Expression Language: true (will be evaluated using variable registry only) | ||
Script Body | Script Body | Body of script to execute. Only one of Script File or Script Body may be used | ||
Module Directory | Module Directory | Comma-separated list of paths to files and/or directories which contain modules required by the script. This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: file, directory. Supports Expression Language: true (will be evaluated using variable registry only) |
Supports Sensitive Dynamic Properties: Yes
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
---|---|---|
Script Engine Binding property | Binding property value passed to Script Runner | Updates 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 (will be evaluated using flow file attributes and variable registry) |
Scope | Description |
---|---|
LOCAL, CLUSTER | Scripts can store and retrieve state using the State Management APIs. Consult the State Manager section of the Developer's Guide for more details. |
Required Permission | Explanation |
---|---|
execute code | Provides operator the ability to execute arbitrary code assuming all permissions that NiFi has. |