Class GetFile
java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processor.AbstractProcessor
org.apache.nifi.processors.standard.GetFile
- All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent
,org.apache.nifi.processor.Processor
@TriggerWhenEmpty
@InputRequirement(INPUT_FORBIDDEN)
@Tags({"local","files","filesystem","ingest","ingress","get","source","input"})
@CapabilityDescription("Creates FlowFiles from files in a directory. NiFi will ignore files it doesn\'t have at least read permissions for.")
@WritesAttribute(attribute="filename",description="The filename is set to the name of the file on disk") @WritesAttribute(attribute="path",description="The path is set to the relative path of the file\'s directory on disk. For example, if the <Input Directory> property is set to /tmp, 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") @WritesAttribute(attribute="file.creationTime",description="The date and time that the file was created. May not work on all file systems") @WritesAttribute(attribute="file.lastModifiedTime",description="The date and time that the file was last modified. May not work on all file systems") @WritesAttribute(attribute="file.lastAccessTime",description="The date and time that the file was last accessed. May not work on all file systems") @WritesAttribute(attribute="file.owner",description="The owner of the file. May not work on all file systems") @WritesAttribute(attribute="file.group",description="The group owner of the file. May not work on all file systems") @WritesAttribute(attribute="file.permissions",description="The read/write/execute permissions of the file. May not work on all file systems") @WritesAttribute(attribute="absolute.path",description="The full/absolute path from where a file was picked up. The current \'path\' attribute is still populated, but may be a relative path")
@SeeAlso({PutFile.class,FetchFile.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.")
public class GetFile
extends org.apache.nifi.processor.AbstractProcessor
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
static final String
static final org.apache.nifi.components.PropertyDescriptor
static final String
static final String
static final String
static final String
static final String
static final String
private final BlockingQueue
<File> static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
private final Lock
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.components.PropertyDescriptor
private static final List
<org.apache.nifi.components.PropertyDescriptor> private final AtomicLong
private final Lock
static final org.apache.nifi.components.PropertyDescriptor
static final org.apache.nifi.processor.Relationship
private static final Set
<org.apache.nifi.processor.Relationship> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate FileFilter
createFileFilter
(org.apache.nifi.processor.ProcessContext context, Path inputDirectory) getAttributesFromFile
(Path file) Set
<org.apache.nifi.processor.Relationship> protected List
<org.apache.nifi.components.PropertyDescriptor> void
onScheduled
(org.apache.nifi.processor.ProcessContext context) void
onTrigger
(org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session) performListing
(File directory, FileFilter filter, boolean recurseSubdirectories) Methods inherited from class org.apache.nifi.processor.AbstractProcessor
onTrigger
Methods inherited from class org.apache.nifi.processor.AbstractSessionFactoryProcessor
getControllerServiceLookup, getIdentifier, getLogger, getNodeTypeProvider, init, initialize, isConfigurationRestored, isScheduled, toString, updateConfiguredRestoredTrue, updateScheduledFalse, updateScheduledTrue
Methods inherited from class org.apache.nifi.components.AbstractConfigurableComponent
customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, hashCode, onPropertyModified, validate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.nifi.components.ConfigurableComponent
getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validate
Methods inherited from interface org.apache.nifi.processor.Processor
isStateful, migrateProperties, migrateRelationships
-
Field Details
-
DIRECTORY
public static final org.apache.nifi.components.PropertyDescriptor DIRECTORY -
RECURSE
public static final org.apache.nifi.components.PropertyDescriptor RECURSE -
KEEP_SOURCE_FILE
public static final org.apache.nifi.components.PropertyDescriptor KEEP_SOURCE_FILE -
FILE_FILTER
public static final org.apache.nifi.components.PropertyDescriptor FILE_FILTER -
PATH_FILTER
public static final org.apache.nifi.components.PropertyDescriptor PATH_FILTER -
MIN_AGE
public static final org.apache.nifi.components.PropertyDescriptor MIN_AGE -
MAX_AGE
public static final org.apache.nifi.components.PropertyDescriptor MAX_AGE -
MIN_SIZE
public static final org.apache.nifi.components.PropertyDescriptor MIN_SIZE -
MAX_SIZE
public static final org.apache.nifi.components.PropertyDescriptor MAX_SIZE -
IGNORE_HIDDEN_FILES
public static final org.apache.nifi.components.PropertyDescriptor IGNORE_HIDDEN_FILES -
POLLING_INTERVAL
public static final org.apache.nifi.components.PropertyDescriptor POLLING_INTERVAL -
BATCH_SIZE
public static final org.apache.nifi.components.PropertyDescriptor BATCH_SIZE -
PROPERTIES
-
FILE_CREATION_TIME_ATTRIBUTE
- See Also:
-
FILE_LAST_MODIFY_TIME_ATTRIBUTE
- See Also:
-
FILE_LAST_ACCESS_TIME_ATTRIBUTE
- See Also:
-
FILE_OWNER_ATTRIBUTE
- See Also:
-
FILE_GROUP_ATTRIBUTE
- See Also:
-
FILE_PERMISSIONS_ATTRIBUTE
- See Also:
-
FILE_MODIFY_DATE_ATTR_FORMAT
- See Also:
-
REL_SUCCESS
public static final org.apache.nifi.processor.Relationship REL_SUCCESS -
RELATIONSHIPS
-
fileQueue
-
inProcess
-
recentlyProcessed
-
queueLock
-
listingLock
-
queueLastUpdated
-
-
Constructor Details
-
GetFile
public GetFile()
-
-
Method Details
-
getSupportedPropertyDescriptors
- Overrides:
getSupportedPropertyDescriptors
in classorg.apache.nifi.components.AbstractConfigurableComponent
-
getRelationships
- Specified by:
getRelationships
in interfaceorg.apache.nifi.processor.Processor
- Overrides:
getRelationships
in classorg.apache.nifi.processor.AbstractSessionFactoryProcessor
-
onScheduled
@OnScheduled public void onScheduled(org.apache.nifi.processor.ProcessContext context) -
createFileFilter
private FileFilter createFileFilter(org.apache.nifi.processor.ProcessContext context, Path inputDirectory) -
performListing
-
getAttributesFromFile
-
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:
onTrigger
in classorg.apache.nifi.processor.AbstractProcessor
- Throws:
org.apache.nifi.processor.exception.ProcessException
-