blob: 4788890a2325d84cc7c292c630e5e992a441a6e7 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>ExecuteStateless</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">ExecuteStateless</h1><h2>Description: </h2><p>Runs the configured dataflow using the Stateless NiFi engine. Please see documentation in order to understand the differences between the traditional NiFi runtime engine and the Stateless NiFi engine. If the Processor is configured with an incoming connection, the incoming FlowFiles will be queued up into the specified Input Port in the dataflow. Data that is transferred out of the flow via an Output Port will be sent to the 'output' relationship, and an attribute will be added to indicate which Port that FlowFile was transferred to. See Additional Details for more information.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>No tags provided.</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Dataflow Specification Strategy</strong></td><td>Dataflow Specification Strategy</td><td id="default-value">Use Local File or URL</td><td id="allowable-values"><ul><li>Use Local File or URL <img src="../../../../../html/images/iconInfo.png" alt="Dataflow to run is stored as a file on the NiFi server or at a URL that is accessible to the NiFi server" title="Dataflow to run is stored as a file on the NiFi server or at a URL that is accessible to the NiFi server"></img></li><li>Use NiFi Registry <img src="../../../../../html/images/iconInfo.png" alt="Dataflow to run is stored in NiFi Registry" title="Dataflow to run is stored in NiFi Registry"></img></li></ul></td><td id="description">Specifies how the Processor should obtain a copy of the dataflow that it is to run</td></tr><tr><td id="name"><strong>Dataflow File/URL</strong></td><td>Dataflow File</td><td></td><td id="allowable-values"></td><td id="description">The filename or URL that specifies the dataflow that is to be run<br/><br/><strong>This property requires exactly one resource to be provided. That resource may be any of the following types: file, URL.</strong><br/><br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use Local File or URL".</strong></td></tr><tr><td id="name"><strong>Registry URL</strong></td><td>Registry URL</td><td></td><td id="allowable-values"></td><td id="description">The URL of the NiFi Registry to retrieve the flow from<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name">Registry SSL Context Service</td><td>Registry SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a></td><td id="description">The SSL Context Service to use for interacting with the NiFi Registry<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name"><strong>Communications Timeout</strong></td><td>Communications Timeout</td><td id="default-value">15 secs</td><td id="allowable-values"></td><td id="description">Specifies how long to wait before timing out when attempting to communicate with NiFi Registry<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name"><strong>Registry Bucket</strong></td><td>Registry Bucket</td><td></td><td id="allowable-values"></td><td id="description">The name of the Bucket in the NiFi Registry that the flow should retrieved from<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name"><strong>Flow Name</strong></td><td>Flow Name</td><td></td><td id="allowable-values"></td><td id="description">The name of the flow in the NiFi Registry<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name">Flow Version</td><td>Flow Version</td><td></td><td id="allowable-values"></td><td id="description">The version of the flow in the NiFi Registry that should be retrieved. If not specified, the latest version will always be used.<br/><br/><strong>This Property is only considered if </strong><strong>the [Dataflow Specification Strategy] Property has a value of "Use NiFi Registry".</strong></td></tr><tr><td id="name">Input Port</td><td>Input Port</td><td></td><td id="allowable-values"></td><td id="description">Specifies the name of the Input Port to send incoming FlowFiles to. This property is required if this processor has any incoming connections.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Failure Ports</td><td>Failure Ports</td><td></td><td id="allowable-values"></td><td id="description">A comma-separated list of the names of Output Ports that exist at the root level of the dataflow. If any FlowFile is routed to one of the Ports whose name is listed here, the dataflow will be considered a failure, and the incoming FlowFile (if any) will be routed to 'failure'. If not specified, all Output Ports will be considered successful.</td></tr><tr><td id="name"><strong>Content Storage Strategy</strong></td><td>Content Storage Strategy</td><td id="default-value">Store Content on Disk</td><td id="allowable-values"><ul><li>Store Content on Heap <img src="../../../../../html/images/iconInfo.png" alt="The FlowFile content will be stored on the NiFi JVM's heap. This is the most efficient option for small FlowFiles but can quickly exhaust the heap with larger FlowFiles, resulting in Out Of Memory Errors and node instability." title="The FlowFile content will be stored on the NiFi JVM's heap. This is the most efficient option for small FlowFiles but can quickly exhaust the heap with larger FlowFiles, resulting in Out Of Memory Errors and node instability."></img></li><li>Store Content on Disk <img src="../../../../../html/images/iconInfo.png" alt="The FlowFile content will be stored on disk, within the configured Work Directory. The content will still be cleared between invocations and will not be persisted across restarts." title="The FlowFile content will be stored on disk, within the configured Work Directory. The content will still be cleared between invocations and will not be persisted across restarts."></img></li></ul></td><td id="description">Specifies where the content of FlowFiles that the Stateless dataflow is operating on should be stored. Note that the data is always considered temporary and may be deleted at any time. It is not intended to be persisted across restarted.</td></tr><tr><td id="name"><strong>Max Input FlowFile Size</strong></td><td>Max Input FlowFile Size</td><td id="default-value">1 MB</td><td id="allowable-values"></td><td id="description">This Processor is configured to load all incoming FlowFiles into memory. Because of that, it is important to limit the maximum size of any incoming FlowFile that would get loaded into memory, in order to prevent Out Of Memory Errors and excessive Garbage Collection. Any FlowFile whose content size is greater than the configured size will be routed to failure and not sent to the Stateless Engine.<br/><br/><strong>This Property is only considered if </strong><strong>the [Content Storage Strategy] Property has a value of "Store Content on Heap".</strong></td></tr><tr><td id="name"><strong>Dataflow Timeout</strong></td><td>Dataflow Timeout</td><td id="default-value">60 sec</td><td id="allowable-values"></td><td id="description">If the flow does not complete within this amount of time, the incoming FlowFile, if any, will be routed to the timeout relationship,the dataflow will be cancelled, and the invocation will end.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>NAR Directory</strong></td><td>NAR Directory</td><td id="default-value">./lib</td><td id="allowable-values"></td><td id="description">The directory to retrieve NAR's from</td></tr><tr><td id="name"><strong>Work Directory</strong></td><td>Work Directory</td><td id="default-value">./work</td><td id="allowable-values"></td><td id="description">A directory that can be used to create temporary files, such as expanding NAR files, temporary FlowFile content, caching the dataflow, etc.</td></tr><tr><td id="name">Max Ingest FlowFiles</td><td>Max Ingest FlowFiles</td><td></td><td id="allowable-values"></td><td id="description">During the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum number of FlowFiles that the source Processor can ingest before it will no longer be triggered to ingest additional data.</td></tr><tr><td id="name">Max Ingest Data Size</td><td>Max Ingest Data Size</td><td></td><td id="allowable-values"></td><td id="description">During the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum amount of data that the source Processor can ingest before it will no longer be triggered to ingest additional data.</td></tr><tr><td id="name">Stateless SSL Context Service</td><td>Stateless SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a></td><td id="description">The SSL Context to use as the Stateless System SSL Context</td></tr><tr><td id="name">Krb5 Conf File</td><td>Krb5 Conf File</td><td></td><td id="allowable-values"></td><td id="description">The KRB5 Conf file to use for configuring components that rely on Kerberos<br/><br/><strong>This property requires exactly one file to be provided..</strong><br/></td></tr><tr><td id="name">Status Task Interval</td><td>Status Task Interval</td><td></td><td id="allowable-values"></td><td id="description">The Stateless engine periodically logs the status of the dataflow's processors. This property allows the interval to be changed, or the status logging to be skipped altogether if the property is not set.</td></tr></table><h3>Dynamic Properties: </h3><p>Supports Sensitive Dynamic Properties: <strong>Yes</strong></p><p>Dynamic Properties allow the user to specify both the name and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Value</th><th>Description</th></tr><tr><td id="name">Any Parameter name</td><td id="value">Any value</td><td>Any dynamic property that is added will be provided to the stateless flow as a Parameter. The name of the property will be the name of the Parameter, and the value of the property will be the value of the Parameter. Because Parameter values may or may not be sensitive, all dynamic properties will be considered sensitive in order to protect their integrity.<br/><strong>Supports Expression Language: false</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>timeout</td><td>If the dataflow fails to complete in the configured amount of time, any incoming FlowFile will be routed to this relationship</td></tr><tr><td>failure</td><td>If the dataflow fails to process an incoming FlowFile, that FlowFile will be routed to this relationship</td></tr><tr><td>original</td><td>For any incoming FlowFile that is successfully processed, the original incoming FlowFile will be transferred to this Relationship</td></tr><tr><td>output</td><td>Any FlowFiles that are transferred to an Output Port in the configured dataflow will be routed to this Relationship</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>output.port.name</td><td>The name of the Output Port that the FlowFile was transferred to</td></tr><tr><td>failure.port.name</td><td>If one or more FlowFiles is routed to one of the Output Ports that is configured as a Failure Port, the input FlowFile (if any) will have this attribute added to it, indicating the name of the Port that caused the dataflow to be considered a failure.</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component requires access to restricted components regardless of restriction.<h3>Input requirement: </h3>This component allows an incoming relationship.<h3>System Resource Considerations:</h3><table id="system-resource-considerations"><tr><th>Resource</th><th>Description</th></tr><tr><td>CPU</td><td>An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.</td></tr><tr><td>DISK</td><td>An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.</td></tr><tr><td>MEMORY</td><td>An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.</td></tr><tr><td>NETWORK</td><td>An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.</td></tr></table></body></html>