ListFTP 2025.10.9.21

捆绑包

org.apache.nifi | nifi-standard-nar

描述

列出 FTP 服务器上驻留的文件。对于在远程服务器上找到的每个文件,将创建一个新的 FlowFile 文件,并将文件名属性设置为远程服务器上的文件名。然后可以将其与 FetchFTP 一起使用以提取这些文件。

标签

files、ftp、ingest、input、list、remote、source

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

连接模式

FTP 连接模式

连接超时

创建连接时在超时之前要等待的时间

数据超时

在本地和远程系统之间传输文件时,此值规定了系统间无数据传输的最长允许间隔时间

实体跟踪初始列表目标

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

实体跟踪状态缓存

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

实体跟踪时间窗口

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

文件筛选器正则表达式

提供用于筛选文件名的 Java 正则表达式;如果提供了筛选器,则仅提取名称与该正则表达式匹配的文件

关注符号链接

如果为 true,则将提取偶数符号文件和嵌套的符号子目录;否则,将不读取符号文件,也不会遍历符号链接子目录

主机名

远程系统的完全限定主机名或 IP 地址

忽略带点的文件

如果为 true,则忽略名称以点(“.”)开头的文件

内部缓冲区大小

为缓冲数据流设置内部缓冲区大小

列表策略

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

密码

用户账户的密码

路径筛选器正则表达式

当递归搜索为 true 时,只会扫描路径与给定正则表达式匹配的子目录

端口

远程主机上用于从中获取数据的连接端口

记录写入器

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

远程路径

远程系统上用于提取或推送文件的路径

远程轮询批次大小

该值指定在执行文件列表时,要在远程系统的给定目录中查找多少个文件路径。通常不需要修改此值,但是当对包含大量文件的远程系统进行轮询时,此值可能很关键。将此值设置得过高可能会导致性能极差,而将其设置得太低可能会导致流比正常速度慢。

递归搜索

如果为 true,将从任意嵌套的子目录中提取文件;否则,不会遍历子目录

目标系统时间戳精度

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

传输模式

FTP 传输模式

用户名

用户名

ftp-use-utf8

告知客户端在处理文件和文件名时使用 UTF-8 编码。如果设置为 true,则服务器还必须支持 UTF-8 编码。

proxy-configuration-service

指定代理配置控制器服务来代理网络请求。

状态管理

范围

描述

CLUSTER

执行文件列表后,将存储最新文件的时间戳。这允许处理器在下次运行时,仅列出在此日期之后添加或修改的文件。状态存储在整个集群中,因此该处理器只能在主节点上运行,如果选择了新的主节点,则新节点将不会复制先前主节点列出的数据。

关系

名称

描述

success

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

写入属性

名称

描述

ftp.remote.host

FTP 服务器的主机名

ftp.remote.port

FTP 服务器上连接的端口

ftp.listing.user

执行 FTP 列表的用户的用户名

file.owner

源文件的所有者 ID 的数字值

file.group

源文件的组 ID 数字值

file.permissions

源文件的读取/写入/执行权限

file.size

源文件中的字节数

file.lastModifiedTime

文件系统中文件最后一次修改的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ssZ”

filename

FTP 服务器上文件的名称

path

从中提取文件的 FTP 服务器上的目录的完全限定名称

另请参阅