ListSmb 2025.5.31.15

捆绑包

org.apache.nifi | nifi-smb-nar

描述

列出通过 SMB 协议共享的具体文件。列出的每个文件都有可能生成一个 FlowFile,元数据作为 FlowFile 属性写入。或者,如果设置了“记录写入器”属性,则整个结果将作为记录写入到单个 FlowFile 中。该处理器仅在集群中的主节点上运行。如果主节点发生变化,新的主节点将从前一个节点中断的地方继续,而不是复制所有数据。

标签

list、samba、smb、cifs、files

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

目录

列出文件所对应的网络文件夹。这是位于共享之后的那部分相对路径:smb://HOSTNAME:PORT/SHARE/[DIRECTORY]/sub/directories。也可以添加子目录。远程文件共享上的给定路径必须存在。这可以通过验证来进行检查。您可以混合使用 Windows 和 Linux 样式的目录分隔符。

et-initial-listing-target

指定应如何处理初始列表。由“跟踪实体”策略使用。

et-state-cache

列出的实体存储在指定的缓存存储器中,这样该处理器在 NiFi 重启后或主节点发生更改时可以恢复列出。“跟踪实体”策略要求在最后一个“跟踪时间窗口”内提供所有列出的实体的跟踪信息。为了支持大量实体,该策略使用 DistributedMapCache 而非托管状态。缓存键格式为“ListedEntities::{processorId}(::{nodeId})”。如果它跟踪每个节点列出的实体,则会添加可选的“::{nodeId}”部分以单独管理状态。例如,集群范围缓存键 =“ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b”,每节点缓存键 =“ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3”存储的缓存内容是 Gzipped JSON 字符串。目标列表配置更改时,缓存键将被删除。由“跟踪实体”策略使用。

et-time-window

指定该处理器应跟踪已列出的实体多长时间。“跟踪实体”策略可以选择时间戳在指定时间窗口内的任何实体。例如,如果设置为“30 分钟”,则在该处理器运行时,任何具有最近 30 分钟时间戳的实体都将成为列表目标。如果满足以下条件之一,则列出实体被视为“新的/已更新的”,并发出 FlowFile:1. 不存在于已列出的实体中;2. 具有比缓存实体更新的时间戳;3. 与缓存实体的大小不同。如果缓存实体的时间戳早于指定的时间窗口,则该实体将从缓存的已列出实体中移除。由“跟踪实体”策略使用。

file-filter

只有名称与给定正则表达式匹配的文件才会被列出。

file-name-suffix-filter

使用给定后缀结尾的文件将被忽略。可为这些文件添加后缀并在上传完成后移除后缀,从而确保不多次列出仍在上传的文件。强烈建议在使用“跟踪实体”或“跟踪时间戳”列表策略时使用此方法。

initial-listing-strategy

指定处理器首次启动(或其状态已清除)时,如何处理 SMB 共享中的现有文件。

initial-listing-timestamp

当处理器首次启动(或其状态已清除)时,要列出的文件对应的时间戳。该值可以指定为以毫秒为单位的纪元时间戳,也可指定为 2025-02-01T00:00:00Z 等格式的 UTC 日期时间

listing-strategy

指定如何确定新的/更新的实体。有关详细信息,请参阅每种策略的描述。

max-file-age

任何早于给定值的文件都将被忽略。

max-file-size

任何大于给定值的文件都将被忽略。

min-file-age

文件列出的最短存在时间;任何未达到此存在时间的文件都将被忽略。

min-file-size

任何小于给定值的文件都将被忽略。

path-filter

仅列出路径(直至文件父目录)与给定正则表达式匹配的文件。

record-writer

指定用于创建列表的记录写入器。如果未指定,则将为列出的每个实体创建一个 FlowFile。如果指定了记录写入器,则所有实体都将写入单个 FlowFile,而不是向单个 FlowFiles 添加属性。

smb-client-provider-service

指定用于创建 SMB 连接的 SMB 客户端提供商。

target-system-timestamp-precision

指定目标系统的时间戳精度。由于该处理器使用实体的时间戳来决定应列出哪些实体,因此使用正确的时间戳精度至关重要。

状态管理

范围

描述

CLUSTER

执行文件列表后,可以存储先前列表的状态,以便连续列出文件,避免重复。

关系

名称

描述

success

所有收到的 FlowFiles 都将路由至“success”

写入属性

名称

描述

filename

从文件系统读取的文件的名称。

shortName

从文件系统中读取的文件的短名称。

path

相比于共享根目录,该路径设置为远程文件系统中文件目录的相对路径。例如,对于给定远程位置 smb://HOSTNAME:PORT/SHARE/DIRECTORY,如果列出了 smb://HOSTNAME:PORT/SHARE/DIRECTORY/sub/folder/file 中的一个文件,则路径属性会设置为“DIRECTORY/sub/folder”。

serviceLocation

共享的 SMB URL。

lastModifiedTime

文件系统中更改文件内容的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ss”。

creationTime

文件系统中创建文件的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ss”。

lastAccessTime

文件系统中访问文件的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ss”。

changeTime

文件系统中更改文件属性的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ss”。

大小

文件大小(以字节为单位)。

allocationSize

服务器上为文件分配的字节数。

另请参阅

语言: 中文