Class FetchFile
java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processor.AbstractProcessor
org.apache.nifi.processors.standard.FetchFile
- All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent,org.apache.nifi.processor.Processor
@InputRequirement(INPUT_REQUIRED)
@Tags({"local","files","filesystem","ingest","ingress","get","source","input","fetch"})
@CapabilityDescription("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.")
@SeeAlso({GetFile.class,PutFile.class,ListFile.class})
@Restriction(requiredPermission=READ_FILESYSTEM,explanation="Provides operator the ability to read from any file that NiFi has access to.") @Restriction(requiredPermission=WRITE_FILESYSTEM,explanation="Provides operator the ability to delete any file that NiFi has access to.")
@MultiProcessorUseCase(description="Ingest all files from a directory into NiFi",keywords={"local","files","filesystem","ingest","ingress","get","source","input","fetch"},configurations={@ProcessorConfiguration(processorClass=ListFile.class,configuration="Configure the \"Input Directory\" property to point to the directory that you want to ingest files from.\nSet the \"Input Directory Location\" property to \"Local\"\nOptionally, set \"Minimum File Age\" to a small value such as \"1 min\" to avoid ingesting files that are still being written to.\n\nConnect the \'success\' Relationship to the FetchFile processor.\n"),@ProcessorConfiguration(processorClass=FetchFile.class,configuration="Set the \"File to Fetch\" property to `${absolute.path}/${filename}`\nSet the \"Completion Strategy\" property to `None`\n")}) @MultiProcessorUseCase(description="Ingest specific files from a directory into NiFi, filtering on filename",keywords={"local","files","filesystem","ingest","ingress","get","source","input","fetch","filter"},configurations={@ProcessorConfiguration(processorClass=ListFile.class,configuration="Configure the \"Input Directory\" property to point to the directory that you want to ingest files from.\nSet the \"Input Directory Location\" property to \"Local\"\nSet 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`\nOptionally, set \"Minimum File Age\" to a small value such as \"1 min\" to avoid ingesting files that are still being written to.\n\nConnect the \'success\' Relationship to the FetchFile processor.\n"),@ProcessorConfiguration(processorClass=FetchFile.class,configuration="Set the \"File to Fetch\" property to `${absolute.path}/${filename}`\nSet the \"Completion Strategy\" property to `None`\n")})
public class FetchFile
extends org.apache.nifi.processor.AbstractProcessor
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.PropertyDescriptor(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.AllowableValue(package private) static final org.apache.nifi.components.PropertyDescriptor(package private) static final org.apache.nifi.components.PropertyDescriptor(package private) static final org.apache.nifi.components.PropertyDescriptor(package private) static final org.apache.nifi.components.PropertyDescriptor(package private) static final org.apache.nifi.components.PropertyDescriptorprivate static final List<org.apache.nifi.components.PropertyDescriptor> (package private) static final org.apache.nifi.processor.Relationship(package private) static final org.apache.nifi.processor.Relationship(package private) static final org.apache.nifi.processor.Relationship(package private) static final org.apache.nifi.processor.Relationshipprivate static final Set<org.apache.nifi.processor.Relationship> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<org.apache.nifi.components.ValidationResult> customValidate(org.apache.nifi.components.ValidationContext validationContext) protected voidSet<org.apache.nifi.processor.Relationship> protected List<org.apache.nifi.components.PropertyDescriptor> protected booleanisDirectory(File file) protected booleanisReadable(File file) protected booleanisWritable(File file) protected voidvoidonTrigger(org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session) private voidperformCompletionAction(String completionStrategy, File file, String targetDirectoryName, org.apache.nifi.flowfile.FlowFile flowFile, org.apache.nifi.processor.ProcessContext context) Methods inherited from class org.apache.nifi.processor.AbstractProcessor
onTriggerMethods inherited from class org.apache.nifi.processor.AbstractSessionFactoryProcessor
getControllerServiceLookup, getIdentifier, getLogger, getNodeTypeProvider, init, initialize, isConfigurationRestored, isScheduled, toString, updateConfiguredRestoredTrue, updateScheduledFalse, updateScheduledTrueMethods inherited from class org.apache.nifi.components.AbstractConfigurableComponent
equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, hashCode, onPropertyModified, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.nifi.components.ConfigurableComponent
getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validateMethods inherited from interface org.apache.nifi.processor.Processor
isStateful, migrateProperties, migrateRelationships
-
Field Details
-
COMPLETION_NONE
static final org.apache.nifi.components.AllowableValue COMPLETION_NONE -
COMPLETION_MOVE
static final org.apache.nifi.components.AllowableValue COMPLETION_MOVE -
COMPLETION_DELETE
static final org.apache.nifi.components.AllowableValue COMPLETION_DELETE -
CONFLICT_REPLACE
static final org.apache.nifi.components.AllowableValue CONFLICT_REPLACE -
CONFLICT_KEEP_INTACT
static final org.apache.nifi.components.AllowableValue CONFLICT_KEEP_INTACT -
CONFLICT_FAIL
static final org.apache.nifi.components.AllowableValue CONFLICT_FAIL -
CONFLICT_RENAME
static final org.apache.nifi.components.AllowableValue CONFLICT_RENAME -
FILENAME
static final org.apache.nifi.components.PropertyDescriptor FILENAME -
COMPLETION_STRATEGY
static final org.apache.nifi.components.PropertyDescriptor COMPLETION_STRATEGY -
MOVE_DESTINATION_DIR
static final org.apache.nifi.components.PropertyDescriptor MOVE_DESTINATION_DIR -
CONFLICT_STRATEGY
static final org.apache.nifi.components.PropertyDescriptor CONFLICT_STRATEGY -
FILE_NOT_FOUND_LOG_LEVEL
static final org.apache.nifi.components.PropertyDescriptor FILE_NOT_FOUND_LOG_LEVEL -
PERM_DENIED_LOG_LEVEL
static final org.apache.nifi.components.PropertyDescriptor PERM_DENIED_LOG_LEVEL -
PROPERTY_DESCRIPTORS
-
REL_SUCCESS
static final org.apache.nifi.processor.Relationship REL_SUCCESS -
REL_NOT_FOUND
static final org.apache.nifi.processor.Relationship REL_NOT_FOUND -
REL_PERMISSION_DENIED
static final org.apache.nifi.processor.Relationship REL_PERMISSION_DENIED -
REL_FAILURE
static final org.apache.nifi.processor.Relationship REL_FAILURE -
RELATIONSHIPS
-
-
Constructor Details
-
FetchFile
public FetchFile()
-
-
Method Details
-
getSupportedPropertyDescriptors
- Overrides:
getSupportedPropertyDescriptorsin classorg.apache.nifi.components.AbstractConfigurableComponent
-
getRelationships
- Specified by:
getRelationshipsin interfaceorg.apache.nifi.processor.Processor- Overrides:
getRelationshipsin classorg.apache.nifi.processor.AbstractSessionFactoryProcessor
-
customValidate
protected Collection<org.apache.nifi.components.ValidationResult> customValidate(org.apache.nifi.components.ValidationContext validationContext) - Overrides:
customValidatein classorg.apache.nifi.components.AbstractConfigurableComponent
-
onTrigger
public void onTrigger(org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session) throws org.apache.nifi.processor.exception.ProcessException - Specified by:
onTriggerin classorg.apache.nifi.processor.AbstractProcessor- Throws:
org.apache.nifi.processor.exception.ProcessException
-
performCompletionAction
-
move
- Throws:
IOException
-
delete
- Throws:
IOException
-
isReadable
-
isWritable
-
isDirectory
-