Processors

Table of Contents

AppendHostInfo

Description

Appends host information such as IP address and hostname as an attribute to incoming flowfiles.

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
Hostname Attributesource.hostnameFlowfile attribute used to record the agent's hostname
IP Attributesource.ipv4Flowfile attribute used to record the agent's IP address
Network Interface FilterA regular expression to filter ip addresses based on the name of the network interface
Refresh PolicyOn scheduleOn schedule
On every trigger
When to recalculate the host info

Relationships

NameDescription
successsuccess operational on the flow record

ApplyTemplate

Description

Applies the mustache template specified by the “Template” property and writes the output to the flow file content. FlowFile attributes are used as template parameters.

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
TemplatePath to the input mustache template file

Relationships

NameDescription
successsuccess operational on the flow record

AttributesToJSON

Description

Generates a JSON representation of the input FlowFile Attributes. The resulting JSON can be written to either a new Attribute ‘JSONAttributes’ or written to the FlowFile as content.

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
Attributes ListComma separated list of attributes to be included in the resulting JSON. If this value is left empty then all existing Attributes will be included. This list of attributes is case sensitive. If an attribute specified in the list is not found it will be be emitted to the resulting JSON with an empty string or NULL value.
Attributes Regular ExpressionRegular expression that will be evaluated against the flow file attributes to select the matching attributes. Both the matching attributes and the selected attributes from the Attributes List property will be written in the resulting JSON.
Destinationflowfile-attributeflowfile-attribute
flowfile-content
Control if JSON value is written as a new flowfile attribute ‘JSONAttributes’ or written in the flowfile content. Writing to flowfile content will overwrite any existing flowfile content.
Include Core AttributestrueDetermines if the FlowFile core attributes which are contained in every FlowFile should be included in the final JSON value generated.
Null ValuefalseIf true a non existing selected attribute will be NULL in the resulting JSON. If false an empty string will be placed in the JSON.

Relationships

NameDescription
successAll FlowFiles received are routed to success

BinFiles

Description

Bins flow files into buckets based on the number of entries or size of entries

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
Max Bin AgeThe maximum age of a Bin that will trigger a Bin to be complete. Expected format is
Maximum Group SizeThe maximum size for the bundle. If not specified, there is no maximum.
Maximum Number of EntriesThe maximum number of files to include in a bundle. If not specified, there is no maximum.
Maximum number of Bins100Specifies the maximum number of bins that can be held in memory at any one time
Minimum Group Size0The minimum size of for the bundle
Minimum Number of Entries1The minimum number of files to include in a bundle

Relationships

NameDescription
failureIf the bundle cannot be created, all FlowFiles that would have been used to create the bundle will be transferred to failure
originalThe FlowFiles that were used to create the bundle

CapturePacket

Description

CapturePacket captures and writes one or more packets into a PCAP file that will be used as the content of a flow file. Configuration options exist to adjust the batching of PCAP files. PCAP batching will place a single PCAP into a flow file. A regular expression selects network interfaces. Bluetooth network interfaces can be selected through a separate option.

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
Base Directory/tmp/Scratch directory for PCAP files
Batch Size50The number of packets to combine within a given PCAP
Capture BluetoothfalseTrue indicates that we support bluetooth interfaces
Network Controllers.*Regular expression of the network controller(s) to which we will attach

Relationships

NameDescription
successAll files are routed to success

CaptureRTSPFrame

Description

Captures a frame from the RTSP stream at specified intervals.

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
Image Encoding.jpgThe encoding that should be applied the the frame images captured from the RTSP stream
RTSP HostnameHostname of the RTSP stream we are trying to connect to
RTSP PasswordPassword used to connect to the RTSP stream
RTSP PortPort that should be connected to to receive RTSP Frames
RTSP URIURI that should be appended to the RTSP stream hostname
RTSP UsernameThe username for connecting to the RTSP stream

Relationships

NameDescription
failureFailures to capture RTSP frame
successSuccessful capture of RTSP frame

CollectorInitiatedSubscription

Description

Windows Event Log Subscribe Callback to receive FlowFiles from Events on Windows.

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
Subscription NameThe name of the subscription. The value provided for this parameter should be unique within the computer's scope.
Supports Expression Language: true
Subscription DescriptionA description of the subscription.
Supports Expression Language: true
Source AddressThe IP address or fully qualified domain name (FQDN) of the local or remote computer (event source) from which the events are collected.
Supports Expression Language: true
Source User NameThe user name, which is used by the remote computer (event source) to authenticate the user.
Supports Expression Language: true
Source PasswordThe password, which is used by the remote computer (event source) to authenticate the user.
Supports Expression Language: true
Source ChannelsThe Windows Event Log Channels (on domain computer(s)) from which events are transferred.
Supports Expression Language: true
Max Delivery Items1000Determines the maximum number of items that will forwarded from an event source for each request.
Delivery MaxLatency Time10 minHow long, in milliseconds, the event source should wait before sending events.
Heartbeat Interval10 minTime interval, in milliseconds, which is observed between the sent heartbeat messages. The event collector uses this property to determine the interval between queries to the event source.
ChannelForwardedEventsThe Windows Event Log Channel (on local machine) to which events are transferred.
Supports Expression Language: true
Query*XPath Query to filter events. (See https://msdn.microsoft.com/en-us/library/windows/desktop/dd996910(v=vs.85).aspx for examples.)
Supports Expression Language: true
Max Buffer Size1 MBThe individual Event Log XMLs are rendered to a buffer. This specifies the maximum size in bytes that the buffer will be allowed to grow to. (Limiting the maximum size of an individual Event XML.)
Inactive Duration To Reconnect10 minIf no new event logs are processed for the specified time period, this processor will try reconnecting to recover from a state where any further messages cannot be consumed. Such situation can happen if Windows Event Log service is restarted, or ERROR_EVT_QUERY_RESULT_STALE (15011) is returned. Setting no duration, e.g. ‘0 ms’ disables auto-reconnection.

Relationships

NameDescription
successRelationship for successfully consumed events.

CompressContent

Description

Compresses or decompresses the contents of FlowFiles using a user-specified compression algorithm and updates the mime.type attribute as appropriate

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
Compression Formatuse mime.type attributeThe compression format to use.
Compression Level1The compression level to use; this is valid only when using GZIP compression.
ModecompressIndicates whether the processor should compress content or decompress content.
Update FilenamefalseDetermines if filename extension need to be updated

Relationships

NameDescription
failureFlowFiles will be transferred to the failure relationship if they fail to compress/decompress
successFlowFiles will be transferred to the success relationship after successfully being compressed or decompressed

ConsumeJournald

Description

Consume systemd-journald journal messages. Available on Linux only.

Properties

All properties are required with a default value, making them effectively optional. None of the properties support the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Batch Size1000Positive numbersThe maximum number of entries processed in a single execution.
Payload FormatSyslogRaw
Syslog
Configures flow file content formatting.
Raw: only the message.
Syslog: similar to syslog or journalctl output.
Include Timestamptruetrue
false
Include message timestamp in the ‘timestamp’ attribute.
Journal TypeSystemUser
System
Both
Type of journal to consume.
Process Old Messagesfalsetrue
false
Process events created before the first usage (schedule) of the processor instance.
Timestamp Format%x %X %Zdate formatFormat string to use when creating the timestamp attribute or writing messages in the syslog format. ISO/ISO 8601/ISO8601 are equivalent to “%FT%T%Ez”.

Relationships

NameDescription
successJournal messages as flow files

ConsumeKafka

Description

Consumes messages from Apache Kafka and transform them into MiNiFi FlowFiles. The application should make sure that the processor is triggered at regular intervals, even if no messages are expected, to serve any queued callbacks waiting to be called. Rebalancing can also only happen on trigger.

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
Duplicate Header HandlingKeep LatestComma-separated Merge
Keep First
Keep Latest
For headers to be added as attributes, this option specifies how to handle cases where multiple headers are present with the same key. For example in case of receiving these two headers: “Accept: text/html” and “Accept: application/xml” and we want to attach the value of “Accept” as a FlowFile attribute:
- “Keep First” attaches: “Accept -> text/html”
- “Keep Latest” attaches: “Accept -> application/xml”
- “Comma-separated Merge” attaches: “Accept -> text/html, application/xml”
Group IDA Group ID is used to identify consumers that are within the same consumer group. Corresponds to Kafka's ‘group.id’ property.
Supports Expression Language: true
Headers To Add As AttributesA comma separated list to match against all message headers. Any message header whose name matches an item from the list will be added to the FlowFile as an Attribute. If not specified, no Header values will be added as FlowFile attributes. The behaviour on when multiple headers of the same name are present is set using the DuplicateHeaderHandling attribute.
Honor TransactionstrueSpecifies whether or not MiNiFi should honor transactional guarantees when communicating with Kafka. If false, the Processor will use an “isolation level” of read_uncomitted. This means that messages will be received as soon as they are written to Kafka but will be pulled, even if the producer cancels the transactions. If this value is true, MiNiFi will not receive any messages for which the producer's transaction was canceled, but this can result in some latency since the consumer must wait for the producer to finish its entire transaction instead of pulling as the messages become available.
Kafka Brokerslocalhost:9092A comma-separated list of known Kafka Brokers in the format :.
Supports Expression Language: true
Kerberos Keytab PathThe path to the location on the local filesystem where the kerberos keytab is located. Read permission on the file is required.
Kerberos PrincipalKeberos Principal
Kerberos Service NameKerberos Service Name
Key Attribute EncodingUTF-8Hex
UTF-8
FlowFiles that are emitted have an attribute named ‘kafka.key’. This property dictates how the value of the attribute should be encoded.
Max Poll Records10000Specifies the maximum number of records Kafka should return when polling each time the processor is triggered.
Max Poll Time4 secondsSpecifies the maximum amount of time the consumer can use for polling data from the brokers. Polling is a blocking operation, so the upper limit of this value is specified in 4 seconds.
Message DemarcatorSince KafkaConsumer receives messages in batches, you have an option to output FlowFiles which contains all Kafka messages in a single batch for a given topic and partition and this property allows you to provide a string (interpreted as UTF-8) to use for demarcating apart multiple Kafka messages. This is an optional property and if not provided each Kafka message received will result in a single FlowFile which time it is triggered.
Supports Expression Language: true
Message Header EncodingUTF-8Hex
UTF-8
Any message header that is found on a Kafka message will be added to the outbound FlowFile as an attribute. This property indicates the Character Encoding to use for deserializing the headers.
Offset Resetlatestearliest
latest
none
Allows you to manage the condition when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted). Corresponds to Kafka's ‘auto.offset.reset’ property.
PasswordThe password for the given username when the SASL Mechanism is sasl_plaintext
SASL MechanismGSSAPIGSSAPI
PLAIN
The SASL mechanism to use for authentication. Corresponds to Kafka's ‘sasl.mechanism’ property.
Security Protocolplaintextplaintext
ssl
sasl_plaintext
sasl_ssl
Protocol used to communicate with brokers. Corresponds to Kafka's ‘security.protocol’ property.
Session Timeout60 secondsClient group session and failure detection timeout. The consumer sends periodic heartbeats to indicate its liveness to the broker. If no hearts are received by the broker for a group member within the session timeout, the broker will remove the consumer from the group and trigger a rebalance. The allowed range is configured with the broker configuration properties group.min.session.timeout.ms and group.max.session.timeout.ms.
SSL Context ServiceSSL Context Service Name
Topic Name FormatNamesNames
Patterns
Specifies whether the Topic(s) provided are a comma separated list of names or a single regular expression. Using regular expressions does not automatically discover Kafka topics created after the processor started.
Topic NamesThe name of the Kafka Topic(s) to pull from. Multiple topic names are supported as a comma separated list.
Supports Expression Language: true
UsernameThe username when the SASL Mechanism is sasl_plaintext

Properties

NameDescription
successIncoming Kafka messages as flowfiles. Depending on the demarcation strategy, this can be one or multiple flowfiles per message.

ConsumeMQTT

Description

This Processor gets the contents of a FlowFile from a MQTT broker for a specified topic. The the payload of the MQTT message becomes content of a FlowFile

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
Broker URIThe URI to use to connect to the MQTT broker
Client IDMQTT client ID to use
Connection Timeout30 secMaximum time interval the client will wait for the network connection to the MQTT server
Keep Alive Interval60 secDefines the maximum time interval between messages sent or received
Max Flow Segment SizeMaximum flow content payload segment size for the MQTT record
PasswordPassword to use when connecting to the broker
Quality of ServiceMQTT_QOS_0The Quality of Service(QoS) to send the message with. Accepts three values ‘0’, ‘1’ and ‘2’
Queue Max MessageMaximum number of messages allowed on the received MQTT queue
Session statetrueWhether to start afresh or resume previous flows. See the allowable value descriptions for more details
TopicThe topic to publish the message to
UsernameUsername to use when connecting to the broker

Relationships

NameDescription
successFlowFiles that are sent successfully to the destination are transferred to this relationship

ConsumeWindowsEventLog

Description

Windows Event Log Subscribe Callback to receive FlowFiles from Events on Windows.

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
ChannelSystemThe Windows Event Log Channel to listen to.
Supports Expression Language: true
Query*XPath Query to filter events. (See https://msdn.microsoft.com/en-us/library/windows/desktop/dd996910(v=vs.85).aspx for examples.)
Supports Expression Language: true
Max Buffer Size1 MBThe individual Event Log XMLs are rendered to a buffer. This specifies the maximum size in bytes that the buffer will be allowed to grow to. (Limiting the maximum size of an individual Event XML.)
Inactive Duration To Reconnect10 minIf no new event logs are processed for the specified time period, this processor will try reconnecting to recover from a state where any further messages cannot be consumed. Such situation can happen if Windows Event Log service is restarted, or ERROR_EVT_QUERY_RESULT_STALE (15011) is returned. Setting no duration, e.g. ‘0 ms’ disables auto-reconnection.
Identifier Match Regex.*SidRegular Expression to match Subject Identifier Fields. These will be placed into the attributes of the FlowFile
Apply Identifier Functiontruetrue
false
If true it will resolve SIDs matched in the ‘Identifier Match Regex’ to the DOMAIN\USERNAME associated with that ID
Resolve Metadata in Attributestruetrue
false
If true, any metadata that is resolved ( such as IDs or keyword metadata ) will be placed into attributes, otherwise it will be replaced in the XML or text output
Event Header DelimiterIf set, the chosen delimiter will be used in the Event output header. Otherwise, a colon followed by spaces will be used.
Event HeaderLOG_NAME=Log Name, SOURCE = Source, TIME_CREATED = Date,EVENT_RECORDID=Record ID,EVENTID = Event ID,TASK_CATEGORY = Task Category,LEVEL = Level,KEYWORDS = Keywords,USER = User,COMPUTER = Computer, EVENT_TYPE = EventTypeComma seperated list of key/value pairs with the following keys LOG_NAME, SOURCE, TIME_CREATED,EVENT_RECORDID,EVENTID,TASK_CATEGORY,LEVEL,KEYWORDS,USER,COMPUTER, and EVENT_TYPE. Eliminating fields will remove them from the header.
Output FormatBothXML
Plaintext
JSON
Both
Set the output format type. In case ‘Both’ is selected the processor generates two flow files for every event captured in format XML and Plaintext
JSON FormatSimpleSimple
Raw
Flattened
Set the json format type. Only applicable if Output Format is set to ‘JSON’
Batch Commit Size1000Maximum number of Events to consume and create to Flow Files from before committing.
Process Old Eventsfalsetrue
false
This property defines if old events (which are created before first time server is started) should be processed.
State DirectoryCWELStateDEPRECATED. Only use it for state migration from the state file, supplying the legacy state directory.

Relationships

NameDescription
successRelationship for successfully consumed events.

DefragmentText

Description

DefragmentText splits and merges incoming flowfiles so cohesive messages are not split between them. It can handle multiple inputs differentiated by the absolute.path flow file attribute.

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
PatternA regular expression to match at the start or end of messages.
Pattern LocationStart of MessageStart of Message
End of Message
Whether the pattern is located at the start or at the end of the messages.
Max Buffer Age10 min<duration> <time unit>The maximum age of the buffer after which it will be transferred to success when matching Start of Message patterns or to failure when matching End of Message patterns.
Max Buffer Size<size> <size unit>The maximum buffer size, if the buffer exceed this, it will be transferred to failure.

Relationships

NameDescription
successFlowfiles that have been successfully defragmented
failureFlowfiles that failed the defragmentation process

DeleteAzureBlobStorage

Description

Deletes the provided blob from Azure Storage

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
BlobThe filename of the blob. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Common Storage Account Endpoint SuffixStorage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).
Supports Expression Language: true
Connection StringConnection string used to connect to Azure Storage service. This overrides all other set credential properties if Managed Identity is not used.
Supports Expression Language: true
Container NameName of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.
Supports Expression Language: true
Delete Snapshots OptionNoneNone
Include Snapshots
Delete Snapshots Only
Specifies the snapshot deletion options to be used when deleting a blob.
None: Deletes the blob only.
Include Snapshots: Delete the blob and its snapshots.
Delete Snapshots Only: Delete only the blob's snapshots.
SAS TokenShared Access Signature token. Specify either SAS Token (recommended) or Storage Account Key together with Storage Account Name if Managed Identity is not used.
Supports Expression Language: true
Storage Account KeyThe storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies.
Supports Expression Language: true
Storage Account NameThe storage account name.
Supports Expression Language: true
Use Managed Identity CredentialsfalseIf true Managed Identity credentials will be used together with the Storage Account Name for authentication.

Relationships

NameDescription
failureUnsuccessful operations will be transferred to the failure relationship
successAll successfully processed FlowFiles are routed to this relationship

DeleteAzureDataLakeStorage

Description

Deletes the provided file from Azure Data Lake Storage Gen 2

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
File NameThe filename in Azure Storage. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Filesystem NameName of the Azure Storage File System. It is assumed to be already existing.
Supports Expression Language: true
Directory NameName of the Azure Storage Directory. The Directory Name cannot contain a leading ‘/’. If left empty it designates the root directory. The directory will be created if not already existing.
Supports Expression Language: true

Relationships

NameDescription
failureIf file deletion from Azure Data Lake storage fails the flowfile is transferred to this relationship
successIf file deletion from Azure Data Lake storage succeeds the flowfile is transferred to this relationship

DeleteGCSObject

Description

Deletes an object from a Google Cloud Bucket.

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
Bucket${gcs.bucket}Bucket of the object.
Supports Expression Language: true
Key${filename}Name of the object.
Supports Expression Language: true
Number of retries6integersHow many retry attempts should be made before routing to the failure relationship.
GCP Credentials Provider ServiceGCPCredentialsControllerServiceThe Controller Service used to obtain Google Cloud Platform credentials.
Server Side Encryption KeyAn AES256 Encryption Key (encoded in base64) for server-side encryption of the object.
Supports Expression Language: true
Object GenerationThe generation of the Object to download. If left empty, then it will download the latest generation.
Supports Expression Language: true
Endpoint Override URLOverrides the default Google Cloud Storage endpoints

Relationships

NameDescription
successFlowFiles are routed to this relationship after a successful Google Cloud Storage operation.
failureFlowFiles are routed to this relationship if the Google Cloud Storage operation fails.

Output Attributes

AttributeRelationshipDescription
gcs.status.messagefailureThe status message received from google cloud.
gcs.error.reasonfailureThe description of the error occurred during operation.
gcs.error.domainfailureThe domain of the error occurred during operation.

DeleteS3Object

Description

Deletes FlowFiles on an Amazon S3 Bucket. If attempting to delete a file that does not exist, FlowFile is routed to success.

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
Object KeyThe key of the S3 object. If none is given the filename attribute will be used by default.
Supports Expression Language: true
BucketThe S3 bucket
Supports Expression Language: true
Access KeyAWS account access key
Supports Expression Language: true
Secret KeyAWS account secret key
Supports Expression Language: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format. Properties used: accessKey and secretKey
AWS Credentials Provider serviceThe name of the AWS Credentials Provider controller service that is used to obtain AWS credentials.
Regionus-west-2af-south-1
ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-southeast-1
ap-southeast-2
ca-central-1
cn-north-1
cn-northwest-1
eu-central-1
eu-north-1
eu-south-1
eu-west-1
eu-west-2
eu-west-3
me-south-1
sa-east-1
us-east-1
us-east-2
us-gov-east-1
us-gov-west-1
us-west-1
us-west-2
AWS Region
Communications Timeout30 secSets the timeout of the communication between the AWS server and the client
Endpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.
Supports Expression Language: true
Proxy HostProxy host name or IP
Supports Expression Language: true
Proxy PortThe port number of the proxy host
Supports Expression Language: true
Proxy UsernameUsername to set when authenticating against proxy
Supports Expression Language: true
Proxy PasswordPassword to set when authenticating against proxy
Supports Expression Language: true
VersionThe Version of the Object to delete
Supports Expression Language: true

Relationships

NameDescription
failureFlowFiles are routed to failure relationship
successFlowFiles are routed to success relationship

ExecuteProcess

Description

Runs an operating system command specified by the user and writes the output of that command to a FlowFile. If the command is expected to be long-running,the Processor can output the partial data on a specified interval. When this option is used, the output is expected to be in textual format,as it typically does not make sense to split binary data on arbitrary time-based intervals.

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
Batch Duration0 secIf the process is expected to be long-running and produce textual output, a batch duration can be specified.
CommandSpecifies the command to be executed; if just the name of an executable is provided, it must be in the user's environment PATH.
Supports Expression Language: true
Command ArgumentsThe arguments to supply to the executable delimited by white space. White space can be escaped by enclosing it in double-quotes.
Supports Expression Language: true
Redirect Error StreamfalseIf true will redirect any error stream output of the process to the output stream.
Working DirectoryThe directory to use as the current working directory when executing the command
Supports Expression Language: true

Relationships

NameDescription
successAll created FlowFiles are routed to this relationship.

ExecutePythonProcessor

Description

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. Scripts must define an onTrigger function which accepts NiFi Context and Property objects. For efficiency, scripts are executed once when the processor is run, then the onTrigger method is called for each incoming flowfile. This enables scripts to keep state if they wish, although there will be a script context per concurrent task of the processor. In order to, e.g., compute an arithmetic sum based on incoming flow file information, set the concurrent tasks to 1. The python script files are expected to contain describe(procesor) and onTrigger(context, session).

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
Module DirectoryComma-separated list of paths to files and/or directories which contain modules required by the script
Reload on Script ChangetrueIf true and Script File property is used, then script file will be reloaded if it has changed, otherwise the first loaded version will be used at all times.
Script BodyScript to execute
Script FilePath to script file to execute. Only one of Script File or Script Body may be used

Relationships

NameDescription
failureScript failures
successScript successes

ExecuteSQL

Description

Execute provided SQL query. Query result rows will be outputted as new flow files with attribute keys equal to result column names and values equal to result values. There will be one output FlowFile per result row. This processor can be scheduled to run using the standard timer-based scheduling methods, or it can be triggered by an incoming FlowFile. If it is triggered by an incoming FlowFile, then attributes of that FlowFile will be available when evaluating the query.

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
DB Controller ServiceDatabase Controller Service.
Max Rows Per Flow File0The maximum number of result rows that will be included in a single FlowFile. This will allow you to break up very large result sets into multiple FlowFiles. If the value specified is zero, then all rows are returned in a single FlowFile.
Output FormatJSON-PrettyJSON
JSON-Pretty
Set the output format type.
SQL select queryThe SQL select query to execute. The query can be empty, a constant value, or built from attributes using Expression Language. If this property is specified, it will be used regardless of the content of incoming flowfiles. If this property is empty, the content of the incoming flow file is expected to contain a valid SQL select query, to be issued by the processor to the database.

Relationships

NameDescription
successSuccessfully created FlowFile from SQL query result set.

ExecuteScript

Description

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. Scripts must define an onTrigger function which accepts NiFi Context and Property objects. For efficiency, scripts are executed once when the processor is run, then the onTrigger method is called for each incoming flowfile. This enables scripts to keep state if they wish, although there will be a script context per concurrent task of the processor. In order to, e.g., compute an arithmetic sum based on incoming flow file information, set the concurrent tasks to 1.

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
Module DirectoryComma-separated list of paths to files and/or directories which contain modules required by the script
Script BodyBody of script to execute. Only one of Script File or Script Body may be used
Script Enginepythonpython
lua
The engine to execute scripts (python, lua)
Script FilePath to script file to execute. Only one of Script File or Script Body may be used

Relationships

NameDescription
failureScript failures
successScript successes

ExtractText

Description

Extracts the content of a FlowFile and places it into an attribute.

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
AttributeAttribute to set from content
Enable Case-insensitive MatchingfalseIndicates that two characters match even if they are in a different case.
Enable repeating capture groupfalsef set to true, every string matching the capture groups will be extracted. Otherwise, if the Regular Expression matches more than once, only the first match will be extracted.
Include Capture Group 0trueIndicates that Capture Group 0 should be included as an attribute. Capture Group 0 represents the entirety of the regular expression match, is typically not used, and could have considerable length.
Maximum Capture Group Length1024Specifies the maximum number of characters a given capture group value can have. Any characters beyond the max will be truncated.
Regex ModefalseSet this to extract parts of flowfile content using regular experssions in dynamic properties
Size Limit2097152Maximum number of bytes to read into the attribute. 0 for no limit. Default is 2MB.

Relationships

NameDescription
successsuccess operational on the flow record

FetchAzureBlobStorage

Description

Retrieves contents of an Azure Storage Blob, writing the contents to the content of the FlowFile

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
BlobThe filename of the blob. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Common Storage Account Endpoint SuffixStorage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).
Supports Expression Language: true
Connection StringConnection string used to connect to Azure Storage service. This overrides all other set credential properties if Managed Identity is not used.
Supports Expression Language: true
Container NameName of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.
Supports Expression Language: true
Range LengthThe number of bytes to download from the blob, starting from the Range Start. An empty value or a value that extends beyond the end of the blob will read to the end of the blob.
Supports Expression Language: true
Range StartThe byte position at which to start reading from the blob. An empty value or a value of zero will start reading at the beginning of the blob.
Supports Expression Language: true
SAS TokenShared Access Signature token. Specify either SAS Token (recommended) or Storage Account Key together with Storage Account Name if Managed Identity is not used.
Supports Expression Language: true
Storage Account KeyThe storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies.
Supports Expression Language: true
Storage Account NameThe storage account name.
Supports Expression Language: true
Use Managed Identity CredentialsfalseIf true Managed Identity credentials will be used together with the Storage Account Name for authentication.

Relationships

NameDescription
failureUnsuccessful operations will be transferred to the failure relationship
successAll successfully processed FlowFiles are routed to this relationship

FetchAzureDataLakeStorage

Description

Fetch the provided file from Azure Data Lake Storage Gen 2

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
File NameThe filename in Azure Storage. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Filesystem NameName of the Azure Storage File System. It is assumed to be already existing.
Supports Expression Language: true
Directory NameName of the Azure Storage Directory. The Directory Name cannot contain a leading ‘/’. If left empty it designates the root directory. The directory will be created if not already existing.
Supports Expression Language: true
Range StartThe byte position at which to start reading from the object. An empty value or a value of zero will start reading at the beginning of the object.
Supports Expression Language: true
Range LengthThe number of bytes to download from the object, starting from the Range Start. An empty value or a value that extends beyond the end of the object will read to the end of the object.
Supports Expression Language: true
Number of Retries0The number of automatic retries to perform if the download fails.
Supports Expression Language: true

Relationships

NameDescription
failureIn case of fetch failure flowfiles are transferred to this relationship
successFiles that have been successfully fetched from Azure storage are transferred to this relationship

FetchGCSObject

Description

Fetches a file from a Google Cloud Bucket. Designed to be used in tandem with ListGCSBucket.

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
Bucket${gcs.bucket}Bucket of the object.
Supports Expression Language: true
Key${filename}Name of the object.
Supports Expression Language: true
Number of retries6integersHow many retry attempts should be made before routing to the failure relationship.
GCP Credentials Provider ServiceGCPCredentialsControllerServiceThe Controller Service used to obtain Google Cloud Platform credentials.
Server Side Encryption KeyAn AES256 Encryption Key (encoded in base64) for server-side encryption of the object.
Supports Expression Language: true
Object GenerationThe generation of the Object to download. If left empty, then it will download the latest generation.
Supports Expression Language: true
Endpoint Override URLOverrides the default Google Cloud Storage endpoints

Relationships

NameDescription
successFlowFiles are routed to this relationship after a successful Google Cloud Storage operation.
failureFlowFiles are routed to this relationship if the Google Cloud Storage operation fails.

Output Attributes

AttributeRelationshipDescription
gcs.status.messagefailureThe status message received from google cloud.
gcs.error.reasonfailureThe description of the error occurred during operation.
gcs.error.domainfailureThe domain of the error occurred during operation.

FetchFile

Description

Reads the contents of a file from disk and streams it into the contents of an incoming FlowFile. Once this is done, the file is optionally moved elsewhere or deleted to help keep the file system organized.

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
File to FetchThe fully-qualified filename of the file to fetch from the file system. If not defined the default ${absolute.path}/${filename} path is used.
Supports Expression Language: true
Completion StrategyNoneNone
Move File
Delete File
Specifies what to do with the original file on the file system once it has been pulled into MiNiFi
Move Destination DirectoryThe directory to move the original file to once it has been fetched from the file system. This property is ignored unless the Completion Strategy is set to “Move File”. If the directory does not exist, it will be created.
Supports Expression Language: true
Move Conflict StrategyRenameRename
Replace File
Keep Existing
Fail
If Completion Strategy is set to Move File and a file already exists in the destination directory with the same name, this property specifies how that naming conflict should be resolved
Log level when file not foundERRORTRACE
DEBUG
INFO
WARN
ERROR
OFF
Log level to use in case the file does not exist when the processor is triggered
Log level when permission deniedERRORTRACE
DEBUG
INFO
WARN
ERROR
OFF
Log level to use in case agent does not have sufficient permissions to read the file

Relationships

NameDescription
successAny FlowFile that is successfully fetched from the file system will be transferred to this Relationship.
not.foundAny FlowFile that could not be fetched from the file system because the file could not be found will be transferred to this Relationship.
permission.deniedAny FlowFile that could not be fetched from the file system due to the user running MiNiFi not having sufficient permissions will be transferred to this Relationship.
failureAny FlowFile that could not be fetched from the file system for any reason other than insufficient permissions or the file not existing will be transferred to this Relationship.

FetchOPCProcessor

Description

Fetches OPC-UA node

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
Application URIApplication URI of the client in the format ‘urn:unconfigured:application’. Mandatory, if using Secure Channel and must match the URI included in the certificate's Subject Alternative Names.
Certificate pathPath to the DER-encoded cert file
Key pathPath to the DER-encoded key file
Lazy modeOffOff
On
Only creates flowfiles from nodes with new timestamp from the server.
Max depth0Specifiec the max depth of browsing. 0 means unlimited.
Namespace index0The index of the namespace. Used only if node ID type is not path.
Node IDSpecifies the ID of the root node to traverse
Node ID typeInt
Path
String
Specifies the type of the provided node ID
OPC server endpointSpecifies the address, port and relative path of an OPC endpoint
PasswordPassword to log in with.
Trusted server certificate pathPath to the DER-encoded trusted server certificate
UsernameUsername to log in with.

Relationships

NameDescription
failureRetrieved OPC-UA nodes where value cannot be extracted (only if enabled)
successSuccessfully retrieved OPC-UA nodes

FetchS3Object

Description

Retrieves the contents of an S3 Object and writes it to the content of a FlowFile

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
Object KeyThe key of the S3 object. If none is given the filename attribute will be used by default.
Supports Expression Language: true
BucketThe S3 bucket
Supports Expression Language: true
Access KeyAWS account access key
Supports Expression Language: true
Secret KeyAWS account secret key
Supports Expression Language: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format. Properties used: accessKey and secretKey
AWS Credentials Provider serviceThe name of the AWS Credentials Provider controller service that is used to obtain AWS credentials.
Regionus-west-2af-south-1
ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-southeast-1
ap-southeast-2
ca-central-1
cn-north-1
cn-northwest-1
eu-central-1
eu-north-1
eu-south-1
eu-west-1
eu-west-2
eu-west-3
me-south-1
sa-east-1
us-east-1
us-east-2
us-gov-east-1
us-gov-west-1
us-west-1
us-west-2
AWS Region
Communications Timeout30 secSets the timeout of the communication between the AWS server and the client
Endpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.
Supports Expression Language: true
Proxy HostProxy host name or IP
Supports Expression Language: true
Proxy PortThe port number of the proxy host
Supports Expression Language: true
Proxy UsernameUsername to set when authenticating against proxy
Supports Expression Language: true
Proxy PasswordPassword to set when authenticating against proxy
Supports Expression Language: true
VersionThe Version of the Object to download
Supports Expression Language: true
Requester PaysfalseIf true, indicates that the requester consents to pay any charges associated with retrieving objects from the S3 bucket. This sets the ‘x-amz-request-payer’ header to ‘requester’.

Relationships

NameDescription
failureFlowFiles are routed to failure relationship
successFlowFiles are routed to success relationship

FetchSFTP

Description

Fetches the content of a file from a remote SFTP server and overwrites the contents of an incoming FlowFile with the content of the remote file.

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
Completion StrategyNoneDelete File
Move File
None
Specifies what to do with the original file on the server once it has been pulled into NiFi. If the Completion Strategy fails, a warning will be logged but the data will still be transferred.
Connection Timeout30 secAmount of time to wait before timing out while creating a connection
Create DirectoryfalseSpecifies whether or not the remote directory should be created if it does not exist.
Data Timeout30 secWhen transferring a file between the local and remote system, this value specifies how long is allowed to elapse without any data being transferred between systems
Disable Directory ListingfalseControl how ‘Move Destination Directory’ is created when ‘Completion Strategy’ is ‘Move File’ and ‘Create Directory’ is enabled. If set to ‘true’, directory listing is not performed prior to create missing directories. By default, this processor executes a directory listing command to see target directory existence before creating missing directories. However, there are situations that you might need to disable the directory listing such as the following. Directory listing might fail with some permission setups (e.g. chmod 100) on a directory. Also, if any other SFTP client created the directory after this processor performed a listing and before a directory creation request by this processor is finished, then an error is returned because the directory already exists.
Host Key FileIf supplied, the given file will be used as the Host Key; otherwise, no use host key file will be used
HostnameThe fully qualified hostname or IP address of the remote system
Supports Expression Language: true
Http Proxy PasswordHttp Proxy Password
Supports Expression Language: true
Http Proxy UsernameHttp Proxy Username
Supports Expression Language: true
Move Destination DirectoryThe directory on the remote server to move the original file to once it has been ingested into NiFi. This property is ignored unless the Completion Strategy is set to ‘Move File’. The specified directory must already exist on the remote system if ‘Create Directory’ is disabled, or the rename will fail.
Supports Expression Language: true
PasswordPassword for the user account
Supports Expression Language: true
PortThe port that the remote system is listening on for file transfers
Supports Expression Language: true
Private Key PassphrasePassword for the private key
Supports Expression Language: true
Private Key PathThe fully qualified path to the Private Key file
Supports Expression Language: true
Proxy HostThe fully qualified hostname or IP address of the proxy server
Supports Expression Language: true
Proxy PortThe port of the proxy server
Supports Expression Language: true
Proxy TypeDIRECTDIRECT
HTTP
SOCKS
Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN, SOCKS + AuthN
Remote FileThe fully qualified filename on the remote system
Supports Expression Language: true
Send Keep Alive On TimeouttrueIndicates whether or not to send a single Keep Alive message when SSH socket times out
Strict Host Key CheckingfalseIndicates whether or not strict enforcement of hosts keys should be applied
Use CompressionfalseIndicates whether or not ZLIB compression should be used when transferring files
UsernameUsername
Supports Expression Language: true

Relationships

NameDescription
comms.failureAny FlowFile that could not be fetched from the remote server due to a communications failure will be transferred to this Relationship.
not.foundAny FlowFile for which we receive a ‘Not Found’ message from the remote server will be transferred to this Relationship.
permission.deniedAny FlowFile that could not be fetched from the remote server due to insufficient permissions will be transferred to this Relationship.
successAll FlowFiles that are received are routed to success

FocusArchiveEntry

Description

Allows manipulation of entries within an archive (e.g. TAR) by focusing on one entry within the archive at a time. When an archive entry is focused, that entry is treated as the content of the FlowFile and may be manipulated independently of the rest of the archive. To restore the FlowFile to its original state, use UnfocusArchiveEntry.

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
PathThe path within the archive to focus (“/” to focus the total archive)

Relationships

NameDescription
successsuccess operational on the flow record

GenerateFlowFile

Description

This processor creates FlowFiles with random data or custom content. GenerateFlowFile is useful for load testing, configuration, and simulation.

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
Batch Size1The number of FlowFiles to be transferred in each invocation
Data FormatBinaryText
Binary
Specifies whether the data should be Text or Binary
File Size1 kBThe size of the file that will be used
Unique FlowFilestrueIf true, each FlowFile that is generated will be unique. If false, a random value will be generated and all FlowFiles
Custom TextIf Data Format is text and if Unique FlowFiles is false, then this custom text will be used as content of the generated FlowFiles and the File Size will be ignored. Finally, if Expression Language is used, evaluation will be performed only once per batch of generated FlowFiles
Supports Expression Language: true

Relationships

NameDescription
successsuccess operational on the flow record

GetFile

Description

Creates FlowFiles from files in a directory. MiNiFi will ignore files for which it doesn't have read permissions.

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
Batch Size10The maximum number of files to pull in each iteration
File Filter.*Only files whose names match the given regular expression will be picked up
Ignore Hidden FilestrueIndicates whether or not hidden files should be ignored
Input DirectoryThe input directory from which to pull files
Supports Expression Language: true
Keep Source FilefalseIf true, the file is not deleted after it has been copied to the Content Repository
Maximum File Age0 secThe maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored
Maximum File Size0 BThe maximum size that a file can be in order to be pulled
Minimum File Age0 secThe minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored
Minimum File Size0 BThe minimum size that a file can be in order to be pulled
Polling Interval0 secIndicates how long to wait before performing a directory listing
Recurse SubdirectoriestrueIndicates whether or not to pull files from subdirectories

Relationships

NameDescription
successAll files are routed to success

GetGPS

Description

Obtains GPS coordinates from the GPSDHost and port.

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
GPSD HostlocalhostThe host running the GPSD daemon
GPSD Port2947The GPSD daemon port
GPSD Wait Time50000000Timeout value for waiting for data from the GPSD instance

Relationships

NameDescription
successAll files are routed to success

GetTCP

Description

Establishes a TCP Server that defines and retrieves one or more byte messages from clients

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
SSL Context ServiceSSL Context Service Name
Stay ConnectedtrueDetermines if we keep the same socket despite having no data
concurrent-handler-count1Number of concurrent handlers for this session
connection-attempt-timeout3Maximum number of connection attempts before attempting backup hosts, if configured
end-of-message-byte13Byte value which denotes end of message. Must be specified as integer within the valid byte range (-128 thru 127). For example, ‘13’ = Carriage return and ‘10’ = New line. Default ‘13’.
endpoint-listA comma delimited list of the endpoints to connect to. The format should be <server_address>:.
receive-buffer-size16 MBThe size of the buffer to receive data in. Default 16384 (16MB).

Relationships

NameDescription
partialIndicates an incomplete message as a result of encountering the end of message byte trigger
successAll files are routed to success

GetUSBCamera

Description

Gets images from USB Video Class (UVC)-compatible devices. Outputs one flow file per frame at the rate specified by the FPS property in the format specified by the Format property.

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
FPS1Frames per second to capture from USB camera
FormatPNGFrame format (currently only PNG and RAW are supported; RAW is a binary pixel buffer of RGB values)
HeightTarget height of image to capture from USB camera
USB Product ID0x0USB Product ID of camera device, in hexadecimal format
USB Serial No.USB Serial No. of camera device
USB Vendor ID0x0USB Vendor ID of camera device, in hexadecimal format
WidthTarget width of image to capture from USB camera

Relationships

NameDescription
failureFailures sent here
successSucessfully captured images sent here

HashContent

Description

HashContent calculates the checksum of the content of the flowfile and adds it as an attribute. Configuration options exist to select hashing algorithm and set the name of the attribute.

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
Hash AlgorithmSHA256Name of the algorithm used to generate checksum
Hash AttributeChecksumAttribute to store checksum to
Fail on emptyfalseRoute to failure relationship in case of empty content

Properties

NameDescription
failurefailure operational on the flow record
successsuccess operational on the flow record

InvokeHTTP

Description

An HTTP client processor which can interact with a configurable HTTP Endpoint. The destination URL and HTTP Method are configurable. FlowFile attributes are converted to HTTP headers and the FlowFile contents are included as the body of the request (if the HTTP Method is PUT, POST or PATCH).

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
Always Output ResponsefalseWill force a response FlowFile to be generated and routed to the ‘Response’ relationship regardless of what the server status code received is
Attributes to SendRegular expression that defines which attributes to send as HTTP headers in the request. If not defined, no attributes are sent as headers.
Connection Timeout5 secsMax wait time for connection to remote service.
Content-typeapplication/octet-streamThe Content-Type to specify for when content is being transmitted through a PUT, POST or PATCH. In the case of an empty value after evaluating an expression language expression, Content-Type defaults to
Disable Peer VerificationfalseDisables peer verification for the SSL session
Follow RedirectstrueFollow HTTP redirects issued by remote server.
HTTP MethodGETHTTP request method (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS). Arbitrary methods are also supported. Methods other than POST, PUT and PATCH will be sent without a message body.
Include Date HeadertrueInclude an RFC-2616 Date header in the request.
Invalid HTTP Header Field Handling Strategytransformtransform
fail
drop
Indicates what should happen when an attribute's name is not a valid HTTP header field name.
Options:
transform - invalid characters are replaced
fail - flow file is transferred to failure
drop - drops invalid attributes from HTTP message
invokehttp-proxy-passwordPassword to set when authenticating against proxy
invokehttp-proxy-usernameUsername to set when authenticating against proxy
Penalize on “No Retry”falseEnabling this property will penalize FlowFiles that are routed to the “No Retry” relationship.
Proxy HostThe fully qualified hostname or IP address of the proxy server
Proxy PortThe port of the proxy server
Put Response Body in AttributeIf set, the response body received back will be put into an attribute of the original FlowFile instead of a separate FlowFile. The attribute key to put to is determined by evaluating value of this property.
Read Timeout15 secsMax wait time for response from remote service.
Remote URLRemote URL which will be connected to, including scheme, host, port, path.
Supports Expression Language: true
send-message-bodytrueDEPRECATED. Only kept for backwards compatibility, no functionality is included.
Send Message BodytrueIf true, sends the HTTP message body on POST/PUT/PATCH requests (default). If false, suppresses the message body and content-type header for these requests.
SSL Context ServiceThe SSL Context Service used to provide client certificate information for TLS/SSL (https) connections.
Use Chunked EncodingfalseWhen POST‘ing, PUT’ing or PATCH'ing content set this property to true in order to not pass the ‘Content-length’ header and instead send ‘Transfer-Encoding’ with a value of ‘chunked’. This will enable the data transfer mechanism which was introduced in HTTP 1.1 to pass data of unknown lengths in chunks.

Relationships

NameDescription
successThe original FlowFile will be routed upon success (2xx status codes). It will have new attributes detailing the success of the request.
responseA Response FlowFile will be routed upon success (2xx status codes). If the ‘Always Output Response’ property is true then the response will be sent to this relationship regardless of the status code received.
retryThe original FlowFile will be routed on any status code that can be retried (5xx status codes). It will have new attributes detailing the request.
no retryThe original FlowFile will be routed on any status code that should NOT be retried (1xx, 3xx, 4xx status codes). It will have new attributes detailing the request.
failureThe original FlowFile will be routed on any type of connection failure, timeout or general exception. It will have new attributes detailing the request.

ListAzureBlobStorage

Description

Lists blobs in an Azure Storage container. Listing details are attached to an empty FlowFile for use with FetchAzureBlobStorage.

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
Common Storage Account Endpoint SuffixStorage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).
Supports Expression Language: true
Connection StringConnection string used to connect to Azure Storage service. This overrides all other set credential properties if Managed Identity is not used.
Supports Expression Language: true
Container NameName of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.
Supports Expression Language: true
Listing Strategytimestampsnone
timestamps
Specify how to determine new/updated entities. If ‘timestamps’ is selected it tracks the latest timestamp of listed entity to determine new/updated entities. If ‘none’ is selected it lists an entity without any tracking, the same entity will be listed each time on executing this processor.
PrefixSearch prefix for listing
Supports Expression Language: true
SAS TokenShared Access Signature token. Specify either SAS Token (recommended) or Storage Account Key together with Storage Account Name if Managed Identity is not used.
Supports Expression Language: true
Storage Account KeyThe storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies.
Supports Expression Language: true
Storage Account NameThe storage account name.
Supports Expression Language: true
Use Managed Identity CredentialsfalseIf true Managed Identity credentials will be used together with the Storage Account Name for authentication.

Relationships

NameDescription
successAll FlowFiles that are received are routed to success

ListAzureDataLakeStorage

Description

Lists directory in an Azure Data Lake Storage Gen 2 filesystem

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
Filesystem NameName of the Azure Storage File System. It is assumed to be already existing.
Supports Expression Language: true
Directory NameName of the Azure Storage Directory. The Directory Name cannot contain a leading ‘/’. If left empty it designates the root directory. The directory will be created if not already existing.
Supports Expression Language: true
Recurse SubdirectoriestrueIndicates whether to list files from subdirectories of the directory
File FilterOnly files whose names match the given regular expression will be listed
Path FilterWhen ‘Recurse Subdirectories’ is true, then only subdirectories whose paths match the given regular expression will be scanned
Listing Strategytimestampsnone
timestamps
Specify how to determine new/updated entities. If ‘timestamps’ is selected it tracks the latest timestamp of listed entity to determine new/updated entities. If ‘none’ is selected it lists an entity without any tracking, the same entity will be listed each time on executing this processor.

Relationships

NameDescription
successAll FlowFiles that are received are routed to success

ListGCSBucket

Description

Retrieves a listing of objects from an GCS bucket. For each object that is listed, creates a FlowFile that represents the object so that it can be fetched or deleted in conjunction with FetchGCSObject/DeleteGCSObject.

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
BucketBucket of the object.
Supports Expression Language: true
Number of retries6integersHow many retry attempts should be made before routing to the failure relationship.
GCP Credentials Provider ServiceGCPCredentialsControllerServiceThe Controller Service used to obtain Google Cloud Platform credentials.
Endpoint Override URLOverrides the default Google Cloud Storage endpoints
List all versionsfalsefalse
true
Set this option to true to get all the previous versions separately.

Relationships

NameDescription
successFlowFiles are routed to this relationship after a successful Google Cloud Storage operation.

Output Attributes

AttributeRelationshipDescription
gcs.bucketsuccessBucket of the object.
gcs.key, filenamesuccessName of the object.
gcs.sizesuccessSize of the object.
gcs.crc32csuccessThe CRC32C checksum of object's data, encoded in base64
gcs.md5successThe MD5 hash of the object's data encoded in base64.
gcs.owner.entitysuccessThe owner entity, in the form “user-emailAddress”.
gcs.owner.entity.idsuccessThe ID for the entity.
gcs.content.encodingsuccessThe content encoding of the object.
gcs.content.languagesuccessThe content language of the object.
gcs.content.dispositionsuccessThe data content disposition of the object.
gcs.media.linksuccessThe media download link to the object.
gcs.self.linksuccessThe link to this object.
gcs.etagsuccessThe HTTP 1.1 Entity tag for the object.
gcs.generated.idsuccessThe service-generated ID for the object
gcs.generationsuccessThe content generation of this object. Used for object versioning.
gcs.metagenerationsuccessThe metageneration of the object.
gcs.create.timesuccessUnix timestamp of the object's creation in milliseconds
gcs.update.timesuccessUnix timestamp of the object's last modification in milliseconds
gcs.delete.timesuccessUnix timestamp of the object's deletion in milliseconds
gcs.encryption.algorithmsuccessThe algorithm used to encrypt the object.
gcs.encryption.sha256successThe SHA256 hash of the key used to encrypt the object

ListenHTTP

Description

Starts an HTTP Server and listens on a given base path to transform incoming requests into FlowFiles. The default URI of the Service will be http://{hostname}:{port}/contentListener. Only HEAD, POST, and GET requests are supported. PUT, and DELETE will result in an error and the HTTP response status code 405. The response body text for all requests, by default, is empty (length of 0). A static response body can be set for a given URI by sending input files to ListenHTTP with the http.type attribute set to response_body. The response body FlowFile filename attribute is appended to the Base Path property (separated by a /) when mapped to incoming requests. The mime.type attribute of the response body FlowFile is used for the Content-type header in responses. Response body content can be cleared by sending an empty (size 0) FlowFile for a given URI mapping.

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
Authorized DN Pattern.*A Regular Expression to apply against the Distinguished Name of incoming connections. If the Pattern does not match the DN, the connection will be refused.
Base PathcontentListenerBase path for incoming connections
Batch Size0Maximum number of buffered requests to be processed in a single batch. If set to zero all buffered requests are processed.
Buffer Size0Maximum number of HTTP Requests allowed to be buffered before processing them when the processor is triggered. If the buffer full, the request is refused. If set to zero the buffer is unlimited.
HTTP Headers to receive as Attributes (Regex)Specifies the Regular Expression that determines the names of HTTP Headers that should be passed along as FlowFile attributes
Listening Port80The Port to listen on for incoming connections. 0 means port is going to be selected randomly.
SSL CertificateFile containing PEM-formatted file including TLS/SSL certificate and key
SSL Certificate AuthorityFile containing trusted PEM-formatted certificates
SSL Minimum VersionTLS1.2TLS1.2
Minimum TLS/SSL version allowed (TLS1.2)
SSL Verify Peernono
yes
Whether or not to verify the client's certificate (yes/no)

Relationships

NameDescription
successAll files are routed to success

ListenSyslog

Description

Listens for Syslog messages being sent to a given port over TCP or UDP. Incoming messages are optionally checked against regular expressions for RFC5424 and RFC3164 formatted messages. With parsing enabled the individual parts of the message will be placed as FlowFile attributes and valid messages will be transferred to success relationship, while invalid messages will be transferred to invalid relationship. With parsing disabled all message will be routed to the success relationship, but they will only contain the sender, protocol, and port attributes.

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
Listening Port514The port for Syslog communication. (Well-known ports (0-1023) require root access)
ProtocolUDPUDP
TCP
The protocol for Syslog communication.
Parse Messagesfalsefalse
true
Indicates if the processor should parse the Syslog messages. If set to false, each outgoing FlowFile will only contain the sender, protocol, and port, and no additional attributes.
Max Batch Size500The maximum number of Syslog events to process at a time.
Max Size of Message Queue10000Maximum number of Syslog messages allowed to be buffered before processing them when the processor is triggered. If the buffer is full, the message is ignored. If set to zero the buffer is unlimited.

Relationships

NameDescription
invalidIncoming messages that do not match the expected format when parsing will be sent to this relationship.
successIncoming messages that match the expected format when parsing will be sent to this relationship. When Parse Messages is set to false, all incoming message will be sent to this relationship.

Output Attributes

AttributeDescriptionRequirements
syslog.protocolThe protocol over which the Syslog message was received.-
syslog.portThe port over which the Syslog message was received.-
syslog.senderThe hostname of the Syslog server that sent the message.-
syslog.validAn indicator of whether this message matched the expected formats.Parsing enabled
syslog.priorityThe priority of the Syslog message.Parsed RFC5424/RFC3164
syslog.severityThe severity of the Syslog message.Parsed RFC5424/RFC3164
syslog.facilityThe facility of the Syslog message.Parsed RFC5424/RFC3164
syslog.timestampThe timestamp of the Syslog message.Parsed RFC5424/RFC3164
syslog.hostnameThe hostname of the Syslog message.Parsed RFC5424/RFC3164
syslog.msgThe free-form message of the Syslog message.Parsed RFC5424/RFC3164
syslog.versionThe version of the Syslog message.Parsed RFC5424
syslog.app_nameThe app name of the Syslog message.Parsed RFC5424
syslog.proc_idThe proc id of the Syslog message.Parsed RFC5424
syslog.msg_idThe message id of the Syslog message.Parsed RFC5424
syslog.structured_dataThe structured data of the Syslog message.Parsed RFC5424

ListenTCP

Description

Listens for incoming TCP connections and reads data from each connection using a line separator as the message demarcator. For each message the processor produces a single FlowFile.

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
Listening PortThe port to listen on for communication.
Max Batch Size500The maximum number of messages to process at a time.
Max Size of Message Queue10000Maximum number of messages allowed to be buffered before processing them when the processor is triggered. If the buffer is full, the message is ignored. If set to zero the buffer is unlimited.

ListFile

Description

Retrieves a listing of files from the local filesystem. For each file that is listed, creates a FlowFile that represents the file so that it can be fetched in conjunction with FetchFile.

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
Input DirectoryThe input directory from which files to pull files
Recurse SubdirectoriestrueIndicates whether to list files from subdirectories of the directory
File FilterOnly files whose names match the given regular expression will be picked up
Path FilterWhen Recurse Subdirectories is true, then only subdirectories whose path matches the given regular expression will be scanned
Minimum File Age0 secThe minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored
Maximum File AgeThe maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored
Minimum File Size0 BThe minimum size that a file must be in order to be pulled
Maximum File SizeThe maximum size that a file can be in order to be pulled
Ignore Hidden FilestrueIndicates whether or not hidden files should be ignored

Relationships

NameDescription
successAll FlowFiles that are received are routed to success

Output Attributes

AttributeRelationshipDescription
filenamesuccessThe name of the file that was read from filesystem.
pathsuccessThe path is set to the relative path of the file's directory on filesystem compared to the Input Directory property. For example, if Input Directory is set to /tmp, then files picked up from /tmp will have the path attribute set to “./”. If the Recurse Subdirectories property is set to true and a file is picked up from /tmp/abc/1/2/3, then the path attribute will be set to “abc/1/2/3/”.
absolute.pathsuccessThe absolute.path is set to the absolute path of the file's directory on filesystem. For example, if the Input Directory property is set to /tmp, then files picked up from /tmp will have the path attribute set to “/tmp/”. If the Recurse Subdirectories property is set to true and a file is picked up from /tmp/abc/1/2/3, then the path attribute will be set to “/tmp/abc/1/2/3/”.
file.ownersuccessThe user that owns the file in filesystem
file.groupsuccessThe group that owns the file in filesystem
file.sizesuccessThe number of bytes in the file in filesystem
file.permissionssuccessThe permissions for the file in filesystem. This is formatted as 3 characters for the owner, 3 for the group, and 3 for other users. For example rw-rw-r--
file.lastModifiedTimesuccessThe timestamp of when the file in filesystem was last modified as ‘yyyy-MM-dd’T‘HH:mm:ssZ’

ListS3

Description

Retrieves a listing of objects from an S3 bucket. For each object that is listed, creates a FlowFile that represents the object so that it can be fetched in conjunction with FetchS3Object.

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
BucketThe S3 bucket
Supports Expression Language: true
Access KeyAWS account access key
Supports Expression Language: true
Secret KeyAWS account secret key
Supports Expression Language: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format. Properties used: accessKey and secretKey
AWS Credentials Provider serviceThe name of the AWS Credentials Provider controller service that is used to obtain AWS credentials.
Regionus-west-2af-south-1
ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-southeast-1
ap-southeast-2
ca-central-1
cn-north-1
cn-northwest-1
eu-central-1
eu-north-1
eu-south-1
eu-west-1
eu-west-2
eu-west-3
me-south-1
sa-east-1
us-east-1
us-east-2
us-gov-east-1
us-gov-west-1
us-west-1
us-west-2
AWS Region
Communications Timeout30 secSets the timeout of the communication between the AWS server and the client
Endpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.
Supports Expression Language: true
Proxy HostProxy host name or IP
Supports Expression Language: true
Proxy PortThe port number of the proxy host
Supports Expression Language: true
Proxy UsernameUsername to set when authenticating against proxy
Supports Expression Language: true
Proxy PasswordPassword to set when authenticating against proxy
Supports Expression Language: true
DelimiterThe string used to delimit directories within the bucket. Please consult the AWS documentation for the correct use of this field.
PrefixThe prefix used to filter the object list. In most cases, it should end with a forward slash (‘/’).
Use VersionsfalseSpecifies whether to use S3 versions, if applicable. If false, only the latest version of each object will be returned.
Minimum Object Age0 secThe minimum age that an S3 object must be in order to be considered; any object younger than this amount of time (according to last modification date) will be ignored.
Write Object TagsfalseIf set to ‘true’, the tags associated with the S3 object will be written as FlowFile attributes.
Write User MetadatafalseIf set to ‘true’, the user defined metadata associated with the S3 object will be added to FlowFile attributes/records.
Requester PaysfalseIf true, indicates that the requester consents to pay any charges associated with listing the S3 bucket. This sets the ‘x-amz-request-payer’ header to ‘requester’. Note that this setting is only used if Write User Metadata is true.

ListSFTP

Description

Performs a listing of the files residing on an SFTP server. For each file that is found on the remote server, a new FlowFile will be created with the filename attribute set to the name of the file on the remote server. This can then be used in conjunction with FetchSFTP in order to fetch those files.

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
Connection Timeout30 secAmount of time to wait before timing out while creating a connection
Data Timeout30 secWhen transferring a file between the local and remote system, this value specifies how long is allowed to elapse without any data being transferred between systems
Entity Tracking Initial Listing TargetAll AvailableAll Available
Tracking Time Window
Specify how initial listing should be handled. Used by ‘Tracking Entities’ strategy.
Entity Tracking Time WindowSpecify how long this processor should track already-listed entities. ‘Tracking Entities’ strategy can pick any entity whose timestamp is inside the specified time window. For example, if set to ‘30 minutes’, any entity having timestamp in recent 30 minutes will be the listing target when this processor runs. A listed entity is considered ‘new/updated’ and a FlowFile is emitted if one of following condition meets: 1. does not exist in the already-listed entities, 2. has newer timestamp than the cached entity, 3. has different size than the cached entity. If a cached entity's timestamp becomes older than specified time window, that entity will be removed from the cached already-listed entities. Used by ‘Tracking Entities’ strategy.
File Filter RegexProvides a Java Regular Expression for filtering Filenames; if a filter is supplied, only files whose names match that Regular Expression will be fetched
Follow symlinkfalseIf true, will pull even symbolic files and also nested symbolic subdirectories; otherwise, will not read symbolic files and will not traverse symbolic link subdirectories
Host Key FileIf supplied, the given file will be used as the Host Key; otherwise, no use host key file will be used
HostnameThe fully qualified hostname or IP address of the remote system
Supports Expression Language: true
Http Proxy PasswordHttp Proxy Password
Supports Expression Language: true
Http Proxy UsernameHttp Proxy Username
Supports Expression Language: true
Ignore Dotted FilestrueIf true, files whose names begin with a dot (“.”) will be ignored
Listing StrategyTracking TimestampsTracking Entities
Tracking Timestamps
Specify how to determine new/updated entities. See each strategy descriptions for detail.
Maximum File AgeThe maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored
Maximum File SizeThe maximum size that a file must be in order to be pulled
Minimum File Age0 secThe minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored
Minimum File Size0 BThe minimum size that a file must be in order to be pulled
PasswordPassword for the user account
Supports Expression Language: true
Path Filter RegexWhen Search Recursively is true, then only subdirectories whose path matches the given Regular Expression will be scanned
PortThe port that the remote system is listening on for file transfers
Supports Expression Language: true
Private Key PassphrasePassword for the private key
Supports Expression Language: true
Private Key PathThe fully qualified path to the Private Key file
Supports Expression Language: true
Proxy HostThe fully qualified hostname or IP address of the proxy server
Supports Expression Language: true
Proxy PortThe port of the proxy server
Supports Expression Language: true
Proxy TypeDIRECTDIRECT
HTTP
SOCKS
Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN, SOCKS + AuthN
Remote PathThe fully qualified filename on the remote system
Supports Expression Language: true
Search RecursivelyfalseIf true, will pull files from arbitrarily nested subdirectories; otherwise, will not traverse subdirectories
Send Keep Alive On TimeouttrueIndicates whether or not to send a single Keep Alive message when SSH socket times out
State FileListSFTPSpecifies the file that should be used for storing state about what data has been ingested so that upon restart MiNiFi can resume from where it left off
Strict Host Key CheckingfalseIndicates whether or not strict enforcement of hosts keys should be applied
Target System Timestamp PrecisionAuto DetectAuto Detect
Milliseconds
Minutes
Seconds
Specify timestamp precision at the target system. Since this processor uses timestamp of entities to decide which should be listed, it is crucial to use the right timestamp precision.
UsernameUsername
Supports Expression Language: true

Relationships

NameDescription
successAll FlowFiles that are received are routed to success

Relationships

NameDescription
successFlowFiles are routed to success relationship

LogAttribute

Description

Logs attributes of flow files in the MiNiFi application log.

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
Attributes to IgnoreA comma-separated list of Attributes to ignore. If not specified, no attributes will be ignored.
Attributes to LogA comma-separated list of Attributes to Log. If not specified, all attributes will be logged.
FlowFiles To Log1Number of flow files to log. If set to zero all flow files will be logged. Please note that this may block other threads from running if not used judiciously.
Hexencode PayloadfalseIf true, the FlowFile's payload will be logged in a hexencoded format
Log Leveldebug
error
info
trace
warn
The Log Level to use when logging the Attributes
Log PayloadfalseIf true, the FlowFile's payload will be logged, in addition to its attributes.otherwise, just the Attributes will be logged
Log PrefixLog prefix appended to the log lines. It helps to distinguish the output of multiple LogAttribute processors.
Maximum Payload Line Length0The logged payload will be broken into lines this long. 0 means no newlines will be added.

Relationships

NameDescription
successsuccess operational on the flow record

ManipulateArchive

Description

Performs an operation which manipulates an archive without needing to split the archive into multiple FlowFiles.

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
AfterFor operations which result in new entries, places the new entry after the entry specified by this property.
BeforeFor operations which result in new entries, places the new entry before the entry specified by this property.
DestinationDestination for operations (touch, move or copy) which result in new entries.
OperationOperation to perform on the archive (touch, remove, copy, move).
TargetAn existing entry within the archive to perform the operation on.

Relationships

NameDescription
failureFlowFiles will be transferred to the failure relationship if the operation fails.
successFlowFiles will be transferred to the success relationship if the operation succeeds.

MergeContent

Description

Merges a Group of FlowFiles together based on a user-defined strategy and packages them into a single FlowFile. MergeContent should be configured with only one incoming connection as it won't create grouped Flow Files.This processor updates the mime.type attribute as appropriate.

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
Attribute StrategyKeep Only Common AttributesKeep Only Common Attributes
Keep All Unique Attributes
Determines which FlowFile attributes should be added to the bundle. If ‘Keep All Unique Attributes’ is selected, any attribute on any FlowFile that gets bundled will be kept unless its value conflicts with the value from another FlowFile (in which case neither, or none, of the conflicting attributes will be kept). If ‘Keep Only Common Attributes’ is selected, only the attributes that exist on all FlowFiles in the bundle, with the same value, will be preserved.
Correlation Attribute NameCorrelation Attribute Name
Delimiter StrategyFilenameDetermines if Header, Footer, and Demarcator should point to files
Demarcator FileFilename specifying the demarcator to use
Footer FileFilename specifying the footer to use
Header FileFilename specifying the header to use
Keep PathfalseIf using the Zip or Tar Merge Format, specifies whether or not the FlowFiles' paths should be included in their entry
Max Bin AgeThe maximum age of a Bin that will trigger a Bin to be complete. Expected format is
Maximum Group SizeThe maximum size for the bundle. If not specified, there is no maximum.
Maximum Number of EntriesThe maximum number of files to include in a bundle. If not specified, there is no maximum.
Maximum number of Bins100Specifies the maximum number of bins that can be held in memory at any one time
Merge FormatBinary ConcatenationMerge Format
Merge StrategyDefragmentDefragment or Bin-Packing Algorithm
Minimum Group Size0The minimum size of for the bundle
Minimum Number of Entries1The minimum number of files to include in a bundle

Relationships

NameDescription
failureIf the bundle cannot be created, all FlowFiles that would have been used to created the bundle will be transferred to failure
mergedThe FlowFile containing the merged content
originalThe FlowFiles that were used to create the bundle

MotionDetector

Description

Detect motion from captured images.

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
Dilate iteration10For image processing, if an object is detected as 2 separate objects, increase this value
Image Encoding.jpg.jpg
.png
The encoding that should be applied to the output
Minimum Area100We only consider the movement regions with area greater than this.
Path to background frameIf not provided then the processor will take the first input frame as background
Threshold for segmentation42Pixel greater than this will be white, otherwise black.

Relationships

NameDescription
failureFailure to detect motion
successSuccessful to detect motion

PerformanceDataMonitor

Description

This Windows only processor can create FlowFiles populated with various performance data with the help of Windows Performance Counters. Windows Performance Counters provide a high-level abstraction layer with a consistent interface for collecting various kinds of system data such as CPU, memory, and disk usage statistics.

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
Predefined GroupsCPU
IO
Disk
Network
Memory
System
Process
Comma separated list from the allowable values, to monitor multiple common Windows Performance counters related to these groups. (e.g. “CPU,Network”)
Custom PDH CountersComma separated list of Windows Performance Counters to monitor. (e.g. “\System\Threads,\Process(*)\ID Process”)
Output FormatJSONJSON
OpenTelemetry
The output format of the new flowfile
Output CompactnessPrettyPretty
Compact
The output format of the new flowfile
Round to decimal placesintegersThe number of decimal places to round the values to (blank for no rounding)

Predefined Groups

Relationships

NameDescription
successAll files are routed to success

PostElasticsearch

Description

An Elasticsearch/Opensearch post processor that uses the Elasticsearch/Opensearch _bulk REST API.

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
ActionThe type of the operation used to index (create, delete, index, update, upsert)
Supports Expression Language: true
Max Batch Size100The maximum number of flow files to process at a time.
Elasticsearch Credentials Provider ServiceThe Controller Service used to obtain Elasticsearch credentials.
SSL Context ServiceThe SSL Context Service used to provide client certificate information for TLS/SSL (https) connections.
HostsA comma-separated list of HTTP hosts that host Elasticsearch query nodes. Currently only supports a single host.
Supports Expression Language: true
IndexThe name of the index to use.
Supports Expression Language: true
IdentifierIf the Action is “index” or “create”, this property may be left empty or evaluate to an empty value, in which case the document's identifier will be auto-generated by Elasticsearch. For all other Actions, the attribute must evaluate to a non-empty value.
Supports Expression Language: true

Properties

NameDescription
successAll flowfiles that succeed in being transferred into Elasticsearch go here.
failureAll flowfiles that fail for reasons unrelated to server availability go to this relationship.
errorAll flowfiles that Elasticsearch responded to with an error go to this relationship.

ProcFsMonitor

Description

This processor can create FlowFiles with various performance data through the proc pseudo-filesystem. (Linux only)

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
Output FormatJSONJSON
OpenTelemetry
The output format of the new flowfile
Output CompactnessPrettyPretty
Compact
The output type of the new flowfile
Result TypeAbsoluteAbsolute
Relative
Absolute returns the current procfs values, relative calculates the usage between triggers
Round to decimal placesintegersThe number of decimal places to round the values to (blank for no rounding)

Relationships

NameDescription
successAll files are routed to success

PublishKafka

Description

This Processor puts the contents of a FlowFile to a Topic in Apache Kafka. The content of a FlowFile becomes the contents of a Kafka message. This message is optionally assigned a key by using the Property.

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
Attributes to Send as HeadersAny attribute whose name matches the regex will be added to the Kafka messages as a Header
Batch Size10Maximum number of messages batched in one MessageSet
Client NameClient Name to use when communicating with Kafka
Supports Expression Language: true
Compress Codecnonecompression codec to use for compressing message sets
Debug contextsA comma-separated list of debug contexts to enable.Including: generic, broker, topic, metadata, feature, queue, msg, protocol, cgrp, security, fetch, interceptor, plugin, consumer, admin, eos, all
Delivery Guarantee1Specifies the requirement for guaranteeing that a message is sent to Kafka. Valid values are 0 (do not wait for acks), -1 or all (block until message is committed by all in sync replicas) or any concrete number of nodes.
Supports Expression Language: true
Kerberos Keytab PathThe path to the location on the local filesystem where the kerberos keytab is located. Read permission on the file is required.
Kerberos PrincipalKeberos Principal
Kerberos Service NameKerberos Service Name
Known BrokersA comma-separated list of known Kafka Brokers in the format :
Supports Expression Language: true
Max Flow Segment Size0 BMaximum flow content payload segment size for the kafka record. 0 B means unlimited.
Max Request SizeMaximum Kafka protocol request message size
Kafka KeyThe key to use for the message. If not specified, the UUID of the flow file is used as the message key.
Supports Expression Language: true
Message Key FieldDEPRECATED, does not work -- use Kafka Key instead
Message Timeout30 secThe total time sending a message could take
PasswordThe password for the given username when the SASL Mechanism is sasl_plaintext
Queue Buffering Max TimeDelay to wait for messages in the producer queue to accumulate before constructing message batches
Queue Max Buffer SizeMaximum total message size sum allowed on the producer queue
Queue Max MessageMaximum number of messages allowed on the producer queue
Request Timeout10 secThe ack timeout of the producer request
SASL MechanismGSSAPIGSSAPI
PLAIN
The SASL mechanism to use for authentication. Corresponds to Kafka's ‘sasl.mechanism’ property.
SSL Context ServiceSSL Context Service Name
Security CADEPRECATED in favor of SSL Context Service. File or directory path to CA certificate(s) for verifying the broker's key
Security CertDEPRECATED in favor of SSL Context Service. Path to client's public key (PEM) used for authentication
Security Pass PhraseDEPRECATED in favor of SSL Context Service. Private key passphrase
Security Private KeyDEPRECATED in favor of SSL Context Service. Path to client's private key (PEM) used for authentication
Security Protocolplaintextplaintext
ssl
sasl_plaintext
sasl_ssl
Protocol used to communicate with brokers. Corresponds to Kafka's ‘security.protocol’ property.
UsernameThe username when the SASL Mechanism is sasl_plaintext
Target Batch Payload Size512 KBThe target total payload size for a batch. 0 B means unlimited (Batch Size is still applied).
Topic NameThe Kafka Topic of interest
Supports Expression Language: true

Relationships

NameDescription
failureAny FlowFile that cannot be sent to Kafka will be routed to this Relationship
successAny FlowFile that is successfully sent to Kafka will be routed to this Relationship

PublishMQTT

Description

PublishMQTT serializes FlowFile content as an MQTT payload, sending the message to the configured topic and broker.

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
Broker URIThe URI to use to connect to the MQTT broker
Client IDMQTT client ID to use
Connection Timeout30 secMaximum time interval the client will wait for the network connection to the MQTT server
Keep Alive Interval60 secDefines the maximum time interval between messages sent or received
Max Flow Segment SizeMaximum flow content payload segment size for the MQTT record
PasswordPassword to use when connecting to the broker
Quality of ServiceMQTT_QOS_0The Quality of Service(QoS) to send the message with. Accepts three values ‘0’, ‘1’ and ‘2’
RetainfalseRetain MQTT published record in broker
Session statetrueWhether to start afresh or resume previous flows. See the allowable value descriptions for more details
TopicThe topic to publish the message to
UsernameUsername to use when connecting to the broker

Relationships

NameDescription
failureFlowFiles that failed to send to the destination are transferred to this relationship
successFlowFiles that are sent successfully to the destination are transferred to this relationship

PutAzureBlobStorage

Description

Puts content into an Azure Storage Blob

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
BlobThe filename of the blob. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Common Storage Account Endpoint SuffixStorage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).
Supports Expression Language: true
Connection StringConnection string used to connect to Azure Storage service. This overrides all other set credential properties if Managed Identity is not used.
Supports Expression Language: true
Container NameName of the Azure storage container. In case of PutAzureBlobStorage processor, container can be created if it does not exist.
Supports Expression Language: true
Create ContainerfalseSpecifies whether to check if the container exists and to automatically create it if it does not. Permission to list containers is required. If false, this check is not made, but the Put operation will fail if the container does not exist.
SAS TokenShared Access Signature token. Specify either SAS Token (recommended) or Storage Account Key together with Storage Account Name if Managed Identity is not used.
Supports Expression Language: true
Storage Account KeyThe storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies.
Supports Expression Language: true
Storage Account NameThe storage account name.
Supports Expression Language: true
Use Managed Identity CredentialsfalseIf true Managed Identity credentials will be used together with the Storage Account Name for authentication.

Relationships

NameDescription
failureUnsuccessful operations will be transferred to the failure relationship
successAll successfully processed FlowFiles are routed to this relationship

PutAzureDataLakeStorage

Description

Puts content into an Azure Data Lake Storage Gen 2

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
Azure Storage Credentials ServiceName of the Azure Storage Credentials Service used to retrieve the connection string from.
Conflict Resolution Strategyfailfail
replace
ignore
Indicates what should happen when a file with the same name already exists in the output directory.
File NameThe filename in Azure Storage. If left empty the filename attribute will be used by default.
Supports Expression Language: true
Filesystem NameName of the Azure Storage File System. It is assumed to be already existing.
Supports Expression Language: true
Directory NameName of the Azure Storage Directory. The Directory Name cannot contain a leading ‘/’. If left empty it designates the root directory. The directory will be created if not already existing.
Supports Expression Language: true

Relationships

NameDescription
failureFiles that could not be written to Azure storage for some reason are transferred to this relationship
successFiles that have been successfully written to Azure storage are transferred to this relationship

PutGCSObject

Description

Puts content into a Google Cloud Storage bucket

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
Bucket${gcs.bucket}Bucket of the object.
Supports Expression Language: true
Key${filename}Name of the object.
Supports Expression Language: true
Number of retries6integersHow many retry attempts should be made before routing to the failure relationship.
GCP Credentials Provider ServiceGCPCredentialsControllerServiceThe Controller Service used to obtain Google Cloud Platform credentials.
Object ACLauthenticatedRead
bucketOwnerFullControl
bucketOwnerRead
private
projectPrivate
publicRead
Access Control to be attached to the object uploaded. Not providing this will revert to bucket defaults. For more information please visit Google Cloud Access control lists
Server Side Encryption KeyAn AES256 Encryption Key (encoded in base64) for server-side encryption of the object.
Supports Expression Language: true
CRC32 ChecksumThe name of the attribute where the crc32 checksum is stored for server-side validation.
Supports Expression Language: true
MD5 HashThe name of the attribute where the md5 hash is stored for server-side validation.
Supports Expression Language: true
Content Type${mime.type}Content Type for the file, i.e. text/plain
Supports Expression Language: true
Endpoint Override URLOverrides the default Google Cloud Storage endpoints

Relationships

NameDescription
successFlowFiles that are sent successfully to the destination are sent to this relationship.
failureFlowFiles that failed to be sent to the destination are sent to this relationship.

Output Attributes

AttributeRelationshipDescription
gcs.status.messagefailureThe status message received from google cloud.
gcs.error.reasonfailureThe description of the error occurred during upload.
gcs.error.domainfailureThe domain of the error occurred during upload.
gcs.bucketsuccessBucket of the object.
gcs.keysuccessName of the object.
gcs.sizesuccessSize of the object.
gcs.crc32csuccessThe CRC32C checksum of object's data, encoded in base64
gcs.md5successThe MD5 hash of the object's data encoded in base64.
gcs.owner.entitysuccessThe owner entity, in the form “user-emailAddress”.
gcs.owner.entity.idsuccessThe ID for the entity.
gcs.content.encodingsuccessThe content encoding of the object.
gcs.content.languagesuccessThe content language of the object.
gcs.content.dispositionsuccessThe data content disposition of the object.
gcs.media.linksuccessThe media download link to the object.
gcs.self.linksuccessThe link to this object.
gcs.etagsuccessThe HTTP 1.1 Entity tag for the object.
gcs.generated.idsuccessThe service-generated ID for the object
gcs.generationsuccessThe content generation of this object. Used for object versioning.
gcs.metagenerationsuccessThe metageneration of the object.
gcs.create.timesuccessUnix timestamp of the object's creation in milliseconds
gcs.update.timesuccessUnix timestamp of the object's last modification in milliseconds
gcs.delete.timesuccessUnix timestamp of the object's deletion in milliseconds
gcs.encryption.algorithmsuccessThe algorithm used to encrypt the object.
gcs.encryption.sha256successThe SHA256 hash of the key used to encrypt the object

PutFile

Description

Writes the contents of a FlowFile to the local file system

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
Conflict Resolution Strategyfailfail
ignore
replace
Indicates what should happen when a file with the same name already exists in the output directory
Create Missing DirectoriestrueIf true, then missing destination directories will be created. If false, flowfiles are penalized and sent to failure.
Directory.The output directory to which to put files
Supports Expression Language: true
Maximum File Count-1Specifies the maximum number of files that can exist in the output directory
PermissionsSets the permissions on the output file to the value of this attribute. Must be an octal number (e.g. 644 or 0755). Not supported on Windows systems.
Directory PermissionsSets the permissions on the directories being created if ‘Create Missing Directories’ property is set. Must be an octal number (e.g. 644 or 0755). Not supported on Windows systems.

Relationships

NameDescription
failureFailed files (conflict, write failure, etc.) are transferred to failure
successAll files are routed to success

PutOPCProcessor

Description

Creates/updates OPC nodes

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
Application URIApplication URI of the client in the format ‘urn:unconfigured:application’. Mandatory, if using Secure Channel and must match the URI included in the certificate's Subject Alternative Names.
Certificate pathPath to the DER-encoded cert file
Key pathPath to the DER-encoded key file
OPC server endpointSpecifies the address, port and relative path of an OPC endpoint
Parent node IDSpecifies the ID of the root node to traverse
Parent node ID typeInt
Path
String
Specifies the type of the provided node ID
Parent node namespace index0The index of the namespace. Used only if node ID type is not path.
PasswordPassword to log in with.
Target node IDID of target node.
Supports Expression Language: true
Target node ID typeID type of target node. Allowed values are: Int, String.
Supports Expression Language: true
Target node browse nameBrowse name of target node. Only used when new node is created.
Supports Expression Language: true
Target node namespace indexThe index of the namespace. Used only if node ID type is not path.
Supports Expression Language: true
Trusted server certificate pathPath to the DER-encoded trusted server certificate
UsernameUsername to log in with.
Value typeBoolean
Double
Float
Int32
Int64
String
UInt32
UInt64
Set the OPC value type of the created nodes

Relationships

NameDescription
failureFailed to put OPC-UA node
successSuccessfully put OPC-UA node

PutS3Object

Description

Puts FlowFiles to an Amazon S3 Bucket. The upload uses either the PutS3Object method. The PutS3Object method send the file in a single synchronous call, but it has a 5GB size limit. Larger files sent using the multipart upload methods are currently not supported. The AWS libraries select an endpoint URL based on the AWS region, but this can be overridden with the ‘Endpoint Override URL’ property for use with other S3-compatible endpoints. The S3 API specifies that the maximum file size for a PutS3Object upload is 5GB.

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
Object KeyThe key of the S3 object. If none is given the filename attribute will be used by default.
Supports Expression Language: true
BucketThe S3 bucket
Supports Expression Language: true
Content TypeSets the Content-Type HTTP header indicating the type of content stored in the associated object. The value of this header is a standard MIME type. If no content type is provided the default content type “application/octet-stream” will be used.
Supports Expression Language: true
Use Default CredentialsfalseIf true, uses the Default Credential chain to obtain AWS credentials, including EC2 instance profiles or roles, environment variables, default user credentials, etc.
Access KeyAWS account access key
Supports Expression Language: true
Secret KeyAWS account secret key
Supports Expression Language: true
Credentials FilePath to a file containing AWS access key and secret key in properties file format. Properties used: accessKey and secretKey
AWS Credentials Provider serviceThe name of the AWS Credentials Provider controller service that is used to obtain AWS credentials.
Storage ClassStandardStandard
ReducedRedundancy
StandardIA
OnezoneIA
IntelligentTiering
Glacier
DeepArchive
AWS S3 Storage Class
Regionus-west-2af-south-1
ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-southeast-1
ap-southeast-2
ca-central-1
cn-north-1
cn-northwest-1
eu-central-1
eu-north-1
eu-south-1
eu-west-1
eu-west-2
eu-west-3
me-south-1
sa-east-1
us-east-1
us-east-2
us-gov-east-1
us-gov-west-1
us-west-1
us-west-2
AWS Region
Communications Timeout30 secSets the timeout of the communication between the AWS server and the client
FullControl User ListA comma-separated list of Amazon User ID's or E-mail addresses that specifies who should have Full Control for an object.
Supports Expression Language: true
Read Permission User ListA comma-separated list of Amazon User ID's or E-mail addresses that specifies who should have Read Access for an object.
Supports Expression Language: true
Read ACL User ListA comma-separated list of Amazon User ID's or E-mail addresses that specifies who should have permissions to read the Access Control List for an object.
Supports Expression Language: true
Write ACL User ListA comma-separated list of Amazon User ID's or E-mail addresses that specifies who should have permissions to change the Access Control List for an object.
Supports Expression Language: true
Endpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.
Supports Expression Language: true
Server Side EncryptionNoneNone
AES256
aws_kms
Specifies the algorithm used for server side encryption.
Proxy HostProxy host name or IP
Supports Expression Language: true
Proxy PortThe port number of the proxy host
Supports Expression Language: true
Proxy UsernameUsername to set when authenticating against proxy
Supports Expression Language: true
Proxy PasswordPassword to set when authenticating against proxy
Supports Expression Language: true

Relationships

NameDescription
failureFlowFiles are routed to failure relationship
successFlowFiles are routed to success relationship

PutSFTP

Description

Sends FlowFiles to an SFTP Server

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
Batch Size500The maximum number of FlowFiles to send in a single connection
Conflict ResolutionNONEFAIL
IGNORE
NONE
REJECT
RENAME
REPLACE
Determines how to handle the problem of filename collisions
Connection Timeout30 secAmount of time to wait before timing out while creating a connection
Create DirectoryfalseSpecifies whether or not the remote directory should be created if it does not exist.
Data Timeout30 secWhen transferring a file between the local and remote system, this value specifies how long is allowed to elapse without any data being transferred between systems
Disable Directory ListingfalseIf set to ‘true’, directory listing is not performed prior to create missing directories. By default, this processor executes a directory listing command to see target directory existence before creating missing directories. However, there are situations that you might need to disable the directory listing such as the following. Directory listing might fail with some permission setups (e.g. chmod 100) on a directory. Also, if any other SFTP client created the directory after this processor performed a listing and before a directory creation request by this processor is finished, then an error is returned because the directory already exists.
Dot RenametrueIf true, then the filename of the sent file is prepended with a “.” and then renamed back to the original once the file is completely sent. Otherwise, there is no rename. This property is ignored if the Temporary Filename property is set.
Host Key FileIf supplied, the given file will be used as the Host Key; otherwise, no use host key file will be used
HostnameThe fully qualified hostname or IP address of the remote system
Supports Expression Language: true
Http Proxy PasswordHttp Proxy Password
Supports Expression Language: true
Http Proxy UsernameHttp Proxy Username
Supports Expression Language: true
Last Modified TimeThe lastModifiedTime to assign to the file after transferring it. If not set, the lastModifiedTime will not be changed. Format must be yyyy-MM-dd‘T’HH:mm:ssZ. You may also use expression language such as ${file.lastModifiedTime}. If the value is invalid, the processor will not be invalid but will fail to change lastModifiedTime of the file.
Supports Expression Language: true
PasswordPassword for the user account
Supports Expression Language: true
PermissionsThe permissions to assign to the file after transferring it. Format must be either UNIX rwxrwxrwx with a - in place of denied permissions (e.g. rw-r--r--) or an octal number (e.g. 644). If not set, the permissions will not be changed. You may also use expression language such as ${file.permissions}. If the value is invalid, the processor will not be invalid but will fail to change permissions of the file.
Supports Expression Language: true
PortThe port that the remote system is listening on for file transfers
Supports Expression Language: true
Private Key PassphrasePassword for the private key
Supports Expression Language: true
Private Key PathThe fully qualified path to the Private Key file
Supports Expression Language: true
Proxy HostThe fully qualified hostname or IP address of the proxy server
Supports Expression Language: true
Proxy PortThe port of the proxy server
Supports Expression Language: true
Proxy TypeDIRECTDIRECT
HTTP
SOCKS
Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN, SOCKS + AuthN
Reject Zero-Byte FilestrueDetermines whether or not Zero-byte files should be rejected without attempting to transfer
Remote GroupInteger value representing the Group ID to set on the file after transferring it. If not set, the group will not be set. You may also use expression language such as ${file.group}. If the value is invalid, the processor will not be invalid but will fail to change the group of the file.
Supports Expression Language: true
Remote OwnerInteger value representing the User ID to set on the file after transferring it. If not set, the owner will not be set. You may also use expression language such as ${file.owner}. If the value is invalid, the processor will not be invalid but will fail to change the owner of the file.
Supports Expression Language: true
Remote PathThe path on the remote system from which to pull or push files
Supports Expression Language: true
Send Keep Alive On TimeouttrueIndicates whether or not to send a single Keep Alive message when SSH socket times out
Strict Host Key CheckingfalseIndicates whether or not strict enforcement of hosts keys should be applied
Temporary FilenameIf set, the filename of the sent file will be equal to the value specified during the transfer and after successful completion will be renamed to the original filename. If this value is set, the Dot Rename property is ignored.
Supports Expression Language: true
Use CompressionfalseIndicates whether or not ZLIB compression should be used when transferring files
UsernameUsername
Supports Expression Language: true

Relationships

NameDescription
failureFlowFiles that failed to send to the remote system; failure is usually looped back to this processor
rejectFlowFiles that were rejected by the destination system
successFlowFiles that are successfully sent will be routed to success

PutSplunkHTTP

Description

Sends the flow file contents to the specified Splunk HTTP Event Collector over HTTP or HTTPS.

Event parameters

The “Source”, “Source Type”, “Host” and “Index” properties are optional and will be set by Splunk if unspecified. If set, the default values will be overwritten with the user specified ones. For more details about the Splunk API, please visit this documentation

Acknowledgment

HTTP Event Collector (HEC) in Splunk provides the possibility of index acknowledgement, which can be used to monitor the indexing status of the individual events. PutSplunkHTTP supports this feature by enriching the outgoing flow file with the necessary information, making it possible for a later processor to poll the status based on. The necessary information for this is stored within flow file attributes “splunk.acknowledgement.id” and “splunk.responded.at”.

Error information

For more refined processing, flow files are enriched with additional information if possible. The information is stored in the flow file attribute “splunk.status.code” or “splunk.response.code”, depending on the success of the processing. The attribute “splunk.status.code” is always filled when the Splunk API call is executed and contains the HTTP status code of the response. In case the flow file transferred into “failure” relationship, the “splunk.response.code” might be also filled, based on the Splunk response code.

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
HostnameThe ip address or hostname of the Splunk server.
Port8088The HTTP Event Collector HTTP Port Number.
TokenSplunk <guid>HTTP Event Collector token starting with the string Splunk. For example Splunk 1234578-abcd-1234-abcd-1234abcd
Splunk Request Channel<guid>Identifier of the used request channel.
SSL Context ServiceThe SSL Context Service used to provide client certificate information for TLS/SSL (https) connections.
SourceBasic field describing the source of the event. If unspecified, the event will use the default defined in splunk.
SourceTypeBasic field describing the source type of the event. If unspecified, the event will use the default defined in splunk.
HostBasic field describing the host of the event. If unspecified, the event will use the default defined in splunk.
IndexIdentifies the index where to send the event. If unspecified, the event will use the default defined in splunk.
Content TypeThe media type of the event sent to Splunk. If not set, “mime.type” flow file attribute will be used. In case of neither of them is specified, this information will not be sent to the server.

Relationships

NameDescription
successFlowFiles that are sent successfully to the destination are sent to this relationship.
failureFlowFiles that failed to be sent to the destination are sent to this relationship.

PutSQL

Description

Executes a SQL UPDATE or INSERT command. The content of an incoming FlowFile is expected to be the SQL command to execute. The SQL command may use the ? character to bind parameters. In this case, the parameters to use must exist as FlowFile attributes with the naming convention sql.args.N.type and sql.args.N.value, where N is a positive integer. The content of the FlowFile is expected to be in UTF-8 format.

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
DB Controller ServiceDatabase Controller Service.
SQL StatementThe SQL statement to execute. The statement can be empty, a constant value, or built from attributes using Expression Language. If this property is specified, it will be used regardless of the content of incoming flowfiles. If this property is empty, the content of the incoming flow file is expected to contain a valid SQL statement, to be issued by the processor to the database.

Relationships

NameDescription
successAfter a successful SQL update operation, the incoming FlowFile sent here

PutUDP

Description

The PutUDP processor receives a FlowFile and packages the FlowFile content into a single UDP datagram packet which is then transmitted to the configured UDP server. The processor doesn't guarantee a successful transfer, even if the flow file is routed to the success relationship.

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
HostlocalhostThe ip address or hostname of the destination.
Supports Expression Language: true
PortThe port on the destination.
Supports Expression Language: true

Relationships

NameDescription
successFlowFiles that are sent to the destination are sent out this relationship.
failureFlowFiles that encounter IO or network errors are send out this relationship.

QueryDatabaseTable

Description

Fetches all rows of a table, whose values in the specified Maximum-value Columns are larger than the previously-seen maxima. If that property is not provided, all rows are returned. The rows are grouped according to the value of Max Rows Per Flow File property and formatted as JSON.

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
Columns to ReturnA comma-separated list of column names to be used in the query. If your database requires special treatment of the names (quoting, e.g.), each name should include such treatment. If no column names are supplied, all columns in the specified table will be returned. NOTE: It is important to use consistent column names for a given table for incremental fetch to work properly.
DB Controller ServiceDatabase Controller Service.
Max Rows Per Flow File0The maximum number of result rows that will be included in a single FlowFile. This will allow you to break up very large result sets into multiple FlowFiles. If the value specified is zero, then all rows are returned in a single FlowFile.
Maximum-value ColumnsA comma-separated list of column names. The processor will keep track of the maximum value for each column that has been returned since the processor started running. Using multiple columns implies an order to the column list, and each column‘s values are expected to increase more slowly than the previous columns’ values. Thus, using multiple columns implies a hierarchical structure of columns, which is usually used for partitioning tables.
Output FormatJSON-PrettyJSON
JSON-Pretty
Set the output format type.
Table NameThe name of the database table to be queried.
Where ClauseA custom clause to be added in the WHERE condition when building SQL queries.

Relationships

NameDescription
successSuccessfully created FlowFile from SQL query result set.

Dynamic Properties:

NameValueDescription
initial.maxvalue.<max_value_column>Initial maximum value for the specified columnSpecifies an initial max value for max value column(s). Properties should be added in the format initial.maxvalue.<max_value_column>. This value is only used the first time the table is accessed (when a Maximum Value Column is specified).
Supports Expression Language: true

QuerySplunkIndexingStatus

Description

This processor is responsible for polling Splunk server and determine if a Splunk event is acknowledged at the time of execution. For more details about the HEC Index Acknowledgement please see this documentation.

Input requirements

In order to work properly, the incoming flow files need to have the attributes “splunk.acknowledgement.id” and “splunk.responded.at” filled properly. The flow file attribute “splunk.acknowledgement.id” should contain the “ackId” which can be extracted from the response to the original Splunk put call. The flow file attribute “splunk.responded.at” should contain the timestamp describing when the put call was answered by Splunk. These required attributes are set by PutSplunkHTTP processor.

Undetermined relationship

Undetermined cases are normal in healthy environment as it is possible that minifi asks for indexing status before Splunk finishes and acknowledges it. These cases are safe to retry, and it is suggested to loop “undetermined” relationship back to the processor for later try. Flow files transferred into the “Undetermined” relationship are penalized.

Performance

Please keep Splunk channel limitations in mind: there are multiple configuration parameters in Splunk which might have direct effect on the performance and behaviour of the QuerySplunkIndexingStatus processor. For example “max_number_of_acked_requests_pending_query” and “max_number_of_acked_requests_pending_query_per_ack_channel” might limit the amount of ackIDs Splunk stores.

Also, it is suggested to execute the query in batches. The “Maximum Query Size” property might be used for fine tune the maximum number of events the processor will query about in one API request. This serves as an upper limit for the batch but the processor might execute the query with smaller number of undetermined events.

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
Maximum Waiting Time1 hour<duration> <time unit>The maximum time the processor tries to acquire acknowledgement confirmation for an index, from the point of registration.
After the given amount of time, the processor considers the index as not acknowledged and transfers the FlowFile to the unacknowledged relationship.
Maximum Query Size1000integersThe maximum number of acknowledgement identifiers the outgoing query contains in one batch. It is recommended not to set it too low in order to reduce network communication.
HostnameThe ip address or hostname of the Splunk server.
Port8088The HTTP Event Collector HTTP Port Number.
TokenSplunk <guid>HTTP Event Collector token starting with the string Splunk. For example Splunk 1234578-abcd-1234-abcd-1234abcd
Splunk Request Channel<guid>Identifier of the used request channel.
SSL Context ServiceThe SSL Context Service used to provide client certificate information for TLS/SSL (https) connections.

Relationships

NameDescription
acknowledgedA FlowFile is transferred to this relationship when the acknowledgement was successful.
unacknowledgedA FlowFile is transferred to this relationship when the acknowledgement was not successful.
This can happen when the acknowledgement did not happened within the time period set for Maximum Waiting Time.
FlowFiles with acknowledgement id unknown for the Splunk server will be transferred to this relationship after the Maximum Waiting Time is reached.
undeterminedA FlowFile is transferred to this relationship when the acknowledgement state is not determined.
This can happens when Splunk returns with HTTP 200 but with false response for the acknowledgement id in the flow file attribute.
FlowFiles transferred to this relationship might be penalized.
failureA FlowFile is transferred to this relationship when the acknowledgement was not successful due to errors during the communication, or if the flowfile was missing the acknowledgement id

ReplaceText

Description

Updates the content of a FlowFile by replacing parts of it using various replacement strategies.

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
Evaluation ModeLine-by-LineEntire text
Line-by-Line
Run the ‘Replacement Strategy’ against each line separately (Line-by-Line) or against the whole input treated as a single string (Entire Text).
Line-by-Line Evaluation ModeAllAll
Except-First-Line
Except-Last-Line
First-Line
Last-Line
Run the ‘Replacement Strategy’ against each line separately (Line-by-Line) for All lines in the FlowFile, First Line (Header) only, Last Line (Footer) only, all Except the First Line (Header) or all Except the Last Line (Footer).
Replacement StrategyRegex ReplaceAlways Replace
Append
Literal Replace
Prepend
Regex Replace
Substitute Variables
The strategy for how and what to replace within the FlowFile‘s text content. Substitute Variables replaces ${attribute_name} placeholders with the corresponding attribute’s value (if an attribute is not found, the placeholder is kept as it was).
Replacement ValueThe value to insert using the ‘Replacement Strategy’. Using ‘Regex Replace’ back-references to Regular Expression capturing groups are supported: $& is the entire matched substring, $1, $2, ... are the matched capturing groups. Use $$1 for a literal $1. Back-references to non-existent capturing groups will be replaced by empty strings. Supports expression language except in Regex Replace mode.
Supports Expression Language: true
Search ValueThe Search Value to search for in the FlowFile content. Only used for ‘Literal Replace’ and ‘Regex Replace’ matching strategies. Supports expression language except in Regex Replace mode.
Supports Expression Language: true

Relationships

NameDescription
failureFlowFiles that could not be updated are routed to this relationship.
successFlowFiles that have been successfully processed are routed to this relationship. This includes both FlowFiles that had text replaced and those that did not.

RetryFlowFile

Description

FlowFiles passed to this Processor have a ‘Retry Attribute’ value checked against a configured ‘Maximum Retries’ value. If the current attribute value is below the configured maximum, the FlowFile is passed to a retry relationship. The FlowFile may or may not be penalized in that condition. If the FlowFile's attribute value exceeds the configured maximum, the FlowFile will be passed to a ‘retries_exceeded’ relationship. WARNING: If the incoming FlowFile has a non-numeric value in the configured ‘Retry Attribute’ attribute, it will be reset to ‘1’. You may choose to fail the FlowFile instead of performing the reset. Additional dynamic properties can be defined for any attributes you wish to add to the FlowFiles transferred to ‘retries_exceeded’. These attributes support attribute expression language.

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
Retry Attribute“flowfile.retries”The name of the attribute that contains the current retry count for the FlowFile. WARNING: If the name matches an attribute already on the FlowFile that does not contain a numerical value, the processor will either overwrite that attribute with ‘1’ or fail based on configuration.
Supports Expression Language: true
Maximum Retries3The maximum number of times a FlowFile can be retried before being passed to the ‘retries_exceeded’ relationship.
Supports Expression Language: true
Penalize Retriestrue"If set to ‘true’, this Processor will penalize input FlowFiles before passing them to the ‘retry’ relationship. This does not apply to the ‘retries_exceeded’ relationship.
Fail on Non-numerical OverwritefalseIf the FlowFile already has the attribute defined in ‘Retry Attribute’ that is not a number, fail the FlowFile instead of resetting that value to ‘1’.
Reuse Mode“Fail on Reuse”“Fail on Reuse”
“Warn on Reuse”
“Reset Reuse”
Defines how the Processor behaves if the retry FlowFile has a different retry UUID than the instance that received the FlowFile. This generally means that the attribute was not reset after being successfully retried by a previous instance of this processor. Warn on reuse and Fail on Reuse both resets the retry property value to 1 and marks the flowfile to be last retried by this processor.

Relationships

NameDescription
retryInput FlowFile has not exceeded the configured maximum retry count, pass this relationship back to the input Processor to create a limited feedback loop.
retries_exceededInput FlowFile has exceeded the configured maximum retry count, do not pass this relationship back to the input Processor to terminate the limited feedback loop.
failureThe processor is configured such that a non-numerical value on ‘Retry Attribute’ results in a failure instead of resetting that value to ‘1’. This will immediately terminate the limited feedback loop. Might also include when ‘Maximum Retries’ contains attribute expression language that does not resolve to an Integer.

Dynamic Properties:

NameValueDescription
Exceeded FlowFile Attribute KeyThe value of the attribute added to the FlowFileOne or more dynamic properties can be used to add attributes to FlowFiles passed to the ‘retries_exceeded’ relationship.
Supports Expression Language: true

Writes Attributes:

NameDescription
Retry AttributeUser defined retry attribute is updated with the current retry count
Retry Attribute .uuidUser defined retry attribute with .uuid that determines what processor retried the FlowFile last

RouteOnAttribute

Description

Routes FlowFiles based on their Attributes using the Attribute Expression Language.

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

Relationships

NameDescription
failureFailed files are transferred to failure
unmatchedFiles which do not match any expression are routed here

RouteText

Description

Routes textual data based on a set of user-defined rules. Each segment in an incoming FlowFile is compared against the values specified by user-defined Properties. The mechanism by which the text is compared to these user-defined properties is defined by the ‘Matching Strategy’. The data is then routed according to these rules, routing each segment of the text individually.

Properties

NameDefault ValueAllowable ValuesDescription
Grouping Fallback Valueempty string ("")If the ‘Grouping Regular Expression’ is specified and the matching fails, this value will be considered the group of the segment.
Grouping Regular ExpressionSpecifies a Regular Expression to evaluate against each segment to determine which Group it should be placed in. The Regular Expression must have at least one Capturing Group that defines the segment's Group. If multiple Capturing Groups exist in the Regular Expression, the values from all Capturing Groups will be concatenated together. Two segments will not be placed into the same FlowFile unless they both have the same value for the Group (or neither matches the Regular Expression). For example, to group together all lines in a CSV File by the first column, we can set this value to (.*?),.* (and use "Per Line" segmentation). Two segments that have the same Group but different Relationships will never be placed into the same FlowFile.
Ignore CasefalseIf true, capitalization will not be taken into account when comparing values. E.g., matching against ‘HELLO’ or ‘hello’ will have the same result. This property is ignored if the ‘Matching Strategy’ is set to ‘Satisfies Expression’.
Ignore Leading/Trailing WhitespacetrueIndicates whether or not the whitespace at the beginning and end should be ignored when evaluating a segment.
Matching StrategyStarts With
Ends With
Contains
Equals
Matches Regex
Contains Regex
Satisfies Expression
Specifies how to evaluate each segment of incoming text against the user-defined properties.
Routing StrategyDynamic RoutingDynamic Routing
Route On All
Route On Any
Specifies how to determine which Relationship(s) to use when evaluating the segments of incoming text against the ‘Matching Strategy’ and user-defined properties. ‘Dynamic Routing’ routes to all the matching dynamic relationships (or ‘unmatched’ if none matches). ‘Route On All’ routes to ‘matched’ iff all dynamic relationships match. ‘Route On Any’ routes to ‘matched’ iff any of the dynamic relationships match.
Segmentation StrategyPer LinePer Line
Full Text
Specifies what portions of the FlowFile content constitutes a single segment to be processed.

Dynamic Properties

NameValueDescription
Relationship Namevalue to match againstRoutes data that matches the value specified in the Dynamic Property Value to the Relationship specified in the Dynamic Property Key.
Supports Expression Language: true

Relationships

NameDescription
matchedSegments that satisfy the required user-defined rules will be routed to this Relationship
unmatchedSegments that do not satisfy the required user-defined rules will be routed to this Relationship
originalThe original input file will be routed to this destination

Writes Attributes

NameDescription
RouteText.GroupThe value captured by all capturing groups in the ‘Grouping Regular Expression’ property. If this property is not set, this attribute will not be added.

TailEventLog

Description

Windows event log reader that functions as a stateful tail of the provided Windows event log name

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
Log SourceLog Source from which to read events
Max Events Per FlowFile1Events per flow file

Relationships

NameDescription
successAll files, containing log events, are routed to success

TailFile

Description

“Tails” a file, or a list of files, ingesting data from the file as it is written to the file. The file is expected to be textual. Data is ingested only when a new line is encountered (carriage return or new-line character or combination). If the file to tail is periodically “rolled over”, as is generally the case with log files, an optional Rolling Filename Pattern can be used to retrieve data from files that have rolled over, even if the rollover occurred while NiFi was not running (provided that the data still exists upon restart of NiFi). It is generally advisable to set the Run Schedule to a few seconds, rather than running with the default value of 0 secs, as this Processor will consume a lot of resources if scheduled very aggressively. At this time, this Processor does not support ingesting files that have been compressed when ‘rolled over’.

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
Attribute Provider ServiceProvides a list of key-value pair records which can be used in the Base Directory property using Expression Language. Requires Multiple file mode.
File to TailFully-qualified filename of the file that should be tailed when using single file mode, or a file regex when using multifile mode
Initial Start PositionBeginning of FileBeginning of Time
Beginning of File
Current Time
When the Processor first begins to tail data, this property specifies where the Processor should begin reading data. Once data has been ingested from a file, the Processor will continue from the last point from which it has received data.
Beginning of Time: Start with the oldest data that matches the Rolling Filename Pattern and then begin reading from the File to Tail.
Beginning of File: Start with the beginning of the File to Tail. Do not ingest any data that has already been rolled over.
Current Time: Start with the data at the end of the File to Tail. Do not ingest any data that has already been rolled over or any data in the File to Tail that has already been written.
Input DelimiterSpecifies the character that should be used for delimiting the data being tailedfrom the incoming file.If none is specified, data will be ingested as it becomes available.
State FileTailFileStateSpecifies the file that should be used for storing state about what data has been ingested so that upon restart NiFi can resume from where it left off
tail-base-directoryBase directory used to look for files to tail. This property is required when using Multiple file mode. Can contain expression language placeholders if Attribute Provider Service is set.
Supports Expression Language: true
tail-modeSingle fileSingle file
Multiple file
Specifies the tail file mode. In ‘Single file’ mode only a single file will be watched. In ‘Multiple file’ mode a regex may be used. Note that in multiple file mode we will still continue to watch for rollover on the initial set of watched files. The Regex used to locate multiple files will be run during the schedule phrase. Note that if rotated files are matched by the regex, those files will be tailed.

Relationships

NameDescription
successAll files are routed to success

UnfocusArchiveEntry

Description

Restores a FlowFile which has had an archive entry focused via FocusArchiveEntry to its original state.

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

Relationships

NameDescription
successsuccess operational on the flow record

UpdateAttribute

Description

This processor updates the attributes of a FlowFile using properties that are added by the user. This allows you to set default attribute changes that affect every FlowFile going through the processor, equivalent to the “basic” usage in Apache NiFi.

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

Relationships

NameDescription
failureFailed files are transferred to failure
successAll files are routed to success