Class GetSmbFile

java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processor.AbstractProcessor
org.apache.nifi.processors.smb.GetSmbFile
All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent, org.apache.nifi.processor.Processor

@TriggerWhenEmpty @InputRequirement(INPUT_FORBIDDEN) @Tags("samba, smb, cifs, files, get") @CapabilityDescription("Reads file from a samba network location to FlowFiles. Use this processor instead of a cifs mounts if share access control is important. Configure the Hostname, Share and Directory accordingly: \\\\[Hostname]\\[Share]\\[path\\to\\Directory]") @SeeAlso({PutSmbFile.class,ListSmb.class,FetchSmb.class}) @WritesAttribute(attribute="filename",description="The filename is set to the name of the file on the network share") @WritesAttribute(attribute="path",description="The path is set to the relative path of the file\'s network share name. For example, if the input is set to \\\\hostname\\share\\tmp, files picked up from \\tmp will have the path attribute set to tmp") @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="absolute.path",description="The full path from where a file was picked up. This includes the hostname and the share name") public class GetSmbFile extends org.apache.nifi.processor.AbstractProcessor
  • Field Details

    • SHARE_ACCESS_NONE

      public static final String SHARE_ACCESS_NONE
      See Also:
    • SHARE_ACCESS_READ

      public static final String SHARE_ACCESS_READ
      See Also:
    • SHARE_ACCESS_READDELETE

      public static final String SHARE_ACCESS_READDELETE
      See Also:
    • SHARE_ACCESS_READWRITEDELETE

      public static final String SHARE_ACCESS_READWRITEDELETE
      See Also:
    • HOSTNAME

      public static final org.apache.nifi.components.PropertyDescriptor HOSTNAME
    • SHARE

      public static final org.apache.nifi.components.PropertyDescriptor SHARE
    • DIRECTORY

      public static final org.apache.nifi.components.PropertyDescriptor DIRECTORY
    • DOMAIN

      public static final org.apache.nifi.components.PropertyDescriptor DOMAIN
    • USERNAME

      public static final org.apache.nifi.components.PropertyDescriptor USERNAME
    • PASSWORD

      public static final org.apache.nifi.components.PropertyDescriptor PASSWORD
    • SHARE_ACCESS

      public static final org.apache.nifi.components.PropertyDescriptor SHARE_ACCESS
    • 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
    • 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
    • FILE_CREATION_TIME_ATTRIBUTE

      public static final String FILE_CREATION_TIME_ATTRIBUTE
      See Also:
    • FILE_LAST_MODIFY_TIME_ATTRIBUTE

      public static final String FILE_LAST_MODIFY_TIME_ATTRIBUTE
      See Also:
    • FILE_LAST_ACCESS_TIME_ATTRIBUTE

      public static final String FILE_LAST_ACCESS_TIME_ATTRIBUTE
      See Also:
    • FILE_SIZE_ATTRIBUTE

      public static final String FILE_SIZE_ATTRIBUTE
      See Also:
    • FILE_MODIFY_DATE_ATTR_FORMAT

      public static final String FILE_MODIFY_DATE_ATTR_FORMAT
      See Also:
    • dateFormatter

      private static final DateTimeFormatter dateFormatter
    • REL_SUCCESS

      public static final org.apache.nifi.processor.Relationship REL_SUCCESS
    • PROPERTY_DESCRIPTORS

      private static final List<org.apache.nifi.components.PropertyDescriptor> PROPERTY_DESCRIPTORS
    • RELATIONSHIPS

      private static final Set<org.apache.nifi.processor.Relationship> RELATIONSHIPS
    • fileQueue

      private final BlockingQueue<String> fileQueue
    • inProcess

      private final Set<String> inProcess
    • recentlyProcessed

      private final Set<String> recentlyProcessed
    • queueLock

      private final Lock queueLock
    • listingLock

      private final Lock listingLock
    • queueLastUpdated

      private final AtomicLong queueLastUpdated
    • smbClient

      private com.hierynomus.smbj.SMBClient smbClient
    • filePattern

      private Pattern filePattern
    • pathPattern

      private Pattern pathPattern
    • ignoreHidden

      private boolean ignoreHidden
    • sharedAccess

      private Set<com.hierynomus.mssmb2.SMB2ShareAccess> sharedAccess
  • Constructor Details

    • GetSmbFile

      public GetSmbFile()
  • Method Details

    • getRelationships

      public Set<org.apache.nifi.processor.Relationship> getRelationships()
      Specified by:
      getRelationships in interface org.apache.nifi.processor.Processor
      Overrides:
      getRelationships in class org.apache.nifi.processor.AbstractSessionFactoryProcessor
    • getSupportedPropertyDescriptors

      public final List<org.apache.nifi.components.PropertyDescriptor> getSupportedPropertyDescriptors()
      Overrides:
      getSupportedPropertyDescriptors in class org.apache.nifi.components.AbstractConfigurableComponent
    • onScheduled

      @OnScheduled public void onScheduled(org.apache.nifi.processor.ProcessContext context)
    • onStopped

      @OnStopped public void onStopped()
    • customValidate

      protected Collection<org.apache.nifi.components.ValidationResult> customValidate(org.apache.nifi.components.ValidationContext validationContext)
      Overrides:
      customValidate in class org.apache.nifi.components.AbstractConfigurableComponent
    • initSmbClient

      com.hierynomus.smbj.SMBClient initSmbClient(org.apache.nifi.processor.ProcessContext context)
    • initiateFilterFile

      private void initiateFilterFile(org.apache.nifi.processor.ProcessContext context)
    • filterFile

      private boolean filterFile(String directory, String filename, long fileAttributes)
    • performListing

      private Set<String> performListing(com.hierynomus.smbj.share.DiskShare diskShare, String directory, String filter, boolean recurseSubdirectories)
    • 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 class org.apache.nifi.processor.AbstractProcessor
      Throws:
      org.apache.nifi.processor.exception.ProcessException