Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)Completion Strategy | Completion Strategy | None | - None
- Move File
- Delete File
| Specifies what to do with the original file on the file system once it has been pulled into NiFi |
Move Destination Directory | Move Destination Directory | | | The directory to the 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 (will be evaluated using flow file attributes and Environment variables) |
Move Conflict Strategy | Move Conflict Strategy | Rename | - Rename
- 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 found | Log level when file not found | ERROR | - TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
| Log level to use in case the file does not exist when the processor is triggered |
Log level when permission denied | Log level when permission denied | ERROR | - TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
| Log level to use in case user nifi does not have sufficient permissions to read the file |
Relationships:
Name | Description |
---|
success | Any FlowFile that is successfully fetched from the file system will be transferred to this Relationship. |
not.found | Any FlowFile that could not be fetched from the file system because the file could not be found will be transferred to this Relationship. |
permission.denied | Any FlowFile that could not be fetched from the file system due to the user running NiFi not having sufficient permissions will be transferred to this Relationship. |
failure | Any 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. |
Reads Attributes:
None specified.Writes Attributes:
None specified.State management:
This component does not store state.Restricted:
Required Permission | Explanation |
---|
read filesystem | Provides operator the ability to read from any file that NiFi has access to. |
write filesystem | Provides operator the ability to delete any file that NiFi has access to. |
Input requirement:
This component requires an incoming relationship.Example Use Cases Involving Other Components:
Use Case:
Ingest all files from a directory into NiFi
Keywords:
local, files, filesystem, ingest, ingress, get, source, input, fetchComponents involved:
Component Type: org.apache.nifi.processors.standard.ListFileConfiguration:
Configure the "Input Directory" property to point to the directory that you want to ingest files from.
Set the "Input Directory Location" property to "Local"
Optionally, set "Minimum File Age" to a small value such as "1 min" to avoid ingesting files that are still being written to.
Connect the 'success' Relationship to the FetchFile processor.
Component Type: org.apache.nifi.processors.standard.FetchFileConfiguration:
Set the "File to Fetch" property to ${absolute.path}/${filename}
Set the "Completion Strategy" property to None
Use Case:
Ingest specific files from a directory into NiFi, filtering on filename
Keywords:
local, files, filesystem, ingest, ingress, get, source, input, fetch, filterComponents involved:
Component Type: org.apache.nifi.processors.standard.ListFileConfiguration:
Configure the "Input Directory" property to point to the directory that you want to ingest files from.
Set the "Input Directory Location" property to "Local"
Set the "File Filter" property to a Regular Expression that matches the filename (without path) of the files that you want to ingest. For example, to ingest all .jpg files, set the value to .*\.jpg
Optionally, set "Minimum File Age" to a small value such as "1 min" to avoid ingesting files that are still being written to.
Connect the 'success' Relationship to the FetchFile processor.
Component Type: org.apache.nifi.processors.standard.FetchFileConfiguration:
Set the "File to Fetch" property to ${absolute.path}/${filename}
Set the "Completion Strategy" property to None
System Resource Considerations:
None specified.See Also:
GetFile, PutFile, ListFile