ListFTP 2025.5.31.15

捆绑包

org.apache.nifi | nifi-standard-nar

描述

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

标签

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

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

连接模式

FTP 连接模式

连接超时

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

数据超时

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

文件筛选器正则表达式

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

主机名

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

忽略带点的文件

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

内部缓冲区大小

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

密码

用户账户的密码

路径筛选器正则表达式

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

端口

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

远程路径

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

远程轮询批次大小

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

递归搜索

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

传输模式

FTP 传输模式

用户名

用户名

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. 与缓存实体的大小不同。如果缓存实体的时间戳早于指定的时间窗口,则该实体将从缓存的已列出实体中移除。由“跟踪实体”策略使用。

follow-symlink

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

ftp-use-utf8

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

listing-strategy

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

proxy-configuration-service

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

record-writer

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

target-system-timestamp-precision

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

状态管理

范围

描述

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 服务器上的目录的完全限定名称

另请参阅

语言: 中文