ListSFTP 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
列出 SFTP 服务器上驻留的文件。对于在远程服务器上找到的每个文件,将创建一个新的 FlowFile 文件,并将文件名属性设置为远程服务器上的文件名。然后可以将其与 FetchSFTP 一起使用以提取这些文件。
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
允许的密码 |
允许用于 SFTP 连接的密码列表(以逗号分隔)。留空则允许所有。可用选项包括:3des-cbc、3des-ctr、aes128-cbc、aes128-ctr、aes128-gcm@openssh.com、aes192-cbc、aes192-ctr、aes256-cbc、aes256-ctr、aes256-gcm@openssh.com、arcfour、arcfour128、arcfour256、blowfish-cbc、blowfish-ctr、cast128-cbc、cast128-ctr、chacha20-poly1305@openssh.com、idea-cbc、idea-ctr、serpent128-cbc、serpent128-ctr、serpent192-cbc、serpent192-ctr、serpent256-cbc、serpent256-ctr、twofish-cbc、twofish128-cbc、twofish128-ctr、twofish192-cbc、twofish192-ctr、twofish256-cbc、twofish256-ctr |
连接超时 |
创建连接时在超时之前要等待的时间 |
数据超时 |
在本地和远程系统之间传输文件时,此值规定了系统间无数据传输的最长允许间隔时间 |
文件筛选器正则表达式 |
提供用于筛选文件名的 Java 正则表达式;如果提供了筛选器,则仅提取名称与该正则表达式匹配的文件 |
主机密钥文件 |
如果提供,则给定文件将用作主机密钥;否则,如果应用“严格主机密钥检查”属性(设为 true),则使用 ~/.ssh 目录中的“known_hosts”和“known_hosts2”文件,否则将不使用任何主机密钥文件 |
主机名 |
远程系统的完全限定主机名或 IP 地址 |
忽略带点的文件 |
如果为 true,则忽略名称以点(“.”)开头的文件 |
允许的密钥算法 |
允许用于 SFTP 连接的密钥算法列表(以逗号分隔)。留空则允许所有。可用选项包括:ecdsa-sha2-nistp256、ecdsa-sha2-nistp256-cert-v01@openssh.com、ecdsa-sha2-nistp384、ecdsa-sha2-nistp384-cert-v01@openssh.com、ecdsa-sha2-nistp521、ecdsa-sha2-nistp521-cert-v01@openssh.com、rsa-sha2-256、rsa-sha2-512、ssh-dss、ssh-dss-cert-v01@openssh.com、ssh-ed25519、ssh-ed25519-cert-v01@openssh.com、ssh-rsa、ssh-rsa-cert-v01@openssh.com |
允许的密钥交换算法 |
允许用于 SFTP 连接的密钥交换算法列表(以逗号分隔)。留空则允许所有。可用选项包括:curve25519-sha256、curve25519-sha256@libssh.org、diffie-hellman-group-exchange-sha1、diffie-hellman-group-exchange-sha256、diffie-hellman-group1-sha1、diffie-hellman-group14-sha1、diffie-hellman-group14-sha256、diffie-hellman-group14-sha256@ssh.com、diffie-hellman-group15-sha256、diffie-hellman-group15-sha256@ssh.com、diffie-hellman-group15-sha384@ssh.com、diffie-hellman-group15-sha512、diffie-hellman-group16-sha256、diffie-hellman-group16-sha384@ssh.com、diffie-hellman-group16-sha512、diffie-hellman-group16-sha512@ssh.com、diffie-hellman-group17-sha512、diffie-hellman-group18-sha512、diffie-hellman-group18-sha512@ssh.com、ecdh-sha2-nistp256、ecdh-sha2-nistp384、ecdh-sha2-nistp521、ext-info-c |
最长文件存在时间 |
文件提取的最大允许时间范围;(按照最后修改日期)晚于该时间的任何文件都将被忽略 |
最大文件大小 |
可提取的最大文件大小 |
允许的消息身份验证代码 |
允许用于 SFTP 连接的消息身份验证代码列表(以逗号分隔)。留空则允许所有。可用选项包括:hmac-md5、hmac-md5-96、hmac-md5-96-etm@openssh.com、hmac-md5-etm@openssh.com、hmac-ripemd160、hmac-ripemd160-96、hmac-ripemd160-etm@openssh.com、hmac-ripemd160@openssh.com、hmac-sha1、hmac-sha1-96、hmac-sha1-96@openssh.com、hmac-sha1-etm@openssh.com、hmac-sha2-256、hmac-sha2-256-etm@openssh.com、hmac-sha2-512、hmac-sha2-512-etm@openssh.com |
最短文件存在时间 |
文件提取的最小允许时间范围;(按照最后修改日期)早于该时间的任何文件都将被忽略 |
最小文件大小 |
可提取的最小文件大小 |
密码 |
用户账户的密码 |
路径筛选器正则表达式 |
当递归搜索为 true 时,只会扫描路径与给定正则表达式匹配的子目录 |
端口 |
远程系统正在其上监听文件传输的端口 |
私钥密码 |
私钥的密码 |
私钥路径 |
私钥文件的完全限定路径 |
远程路径 |
远程系统上用于提取或推送文件的路径 |
递归搜索 |
如果为 true,将从任意嵌套的子目录中提取文件;否则,不会遍历子目录 |
发送保持在线超时 |
每 5 秒发送一条保持在线消息,最多 5 次,总超时时间为 25 秒。 |
严格的主机密钥检查 |
表示是否应严格执行主机密钥 |
使用压缩 |
表示传输文件时是否应使用 ZLIB 压缩 |
用户名 |
用户名 |
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,则将提取偶数符号文件和嵌套的符号子目录;否则,将不读取符号文件,也不会遍历符号链接子目录 |
listing-strategy |
指定如何确定新的/更新的实体。有关详细信息,请参阅每种策略的描述。 |
proxy-configuration-service |
指定代理配置控制器服务来代理网络请求。 |
record-writer |
指定用于创建列表的记录写入器。如果未指定,则将为列出的每个实体创建一个 FlowFile。如果指定了记录写入器,则所有实体都将写入单个 FlowFile,而不是向单个 FlowFiles 添加属性。 |
target-system-timestamp-precision |
指定目标系统的时间戳精度。由于该处理器使用实体的时间戳来决定应列出哪些实体,因此使用正确的时间戳精度至关重要。 |
状态管理¶
范围 |
描述 |
---|---|
CLUSTER |
执行文件列表后,将存储最新文件的时间戳。这允许处理器在下次运行时,仅列出在此日期之后添加或修改的文件。状态存储在整个集群中,因此该处理器只能在主节点上运行,如果选择了新的主节点,则新节点将不会复制先前主节点列出的数据。 |
关系¶
名称 |
描述 |
---|---|
success |
所有收到的 FlowFiles 都将路由至“success” |
写入属性¶
名称 |
描述 |
---|---|
sftp.remote.host |
SFTP 服务器的主机名 |
sftp.remote.port |
SFTP 服务器上连接的端口 |
sftp.listing.user |
执行 SFTP 列表的用户的用户名 |
file.owner |
源文件的所有者 ID 的数字值 |
file.group |
源文件的组 ID 数字值 |
file.permissions |
源文件的读取/写入/执行权限 |
file.size |
源文件中的字节数 |
file.lastModifiedTime |
文件系统中文件最后一次修改的时间戳,格式为“yyyy-MM-dd'T'HH:mm:ssZ” |
filename |
SFTP 服务器上文件的名称 |
path |
从中提取文件的 SFTP 服务器上的目录的完全限定名称 |
mime.type |
配置的记录写入器提供的 MIME 类型 |