ListFTP 2025.10.2.19¶
번들¶
org.apache.nifi | nifi-standard-nar
설명¶
FTP 서버에 있는 파일 목록을 수행합니다. 원격 서버에서 발견되는 각 파일에 대해 파일 이름 특성이 원격 서버의 파일 이름으로 설정된FlowFile이 새로 생성됩니다. 그런 다음 FetchFTP 와 함께 사용하여 해당 파일을 가져올 수 있습니다.
입력 요구 사항¶
FORBIDDEN
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
|---|---|
Connection Mode |
FTP 연결 모드 |
Connection Timeout |
연결을 생성하는 동안 시간이 초과되기 전에 대기할 시간(초) |
데이터 시간 제한 |
로컬 시스템과 원격 시스템 간에 파일을 전송할 때 시스템 간에 데이터가 전송되지 않고 경과할 수 있는 시간을 지정하는 값입니다 |
파일 필터 정규식 |
파일 이름을 필터링하기 위한 Java 정규식을 제공하며, 필터를 제공하면 해당 정규식과 이름이 일치하는 파일만 가져옵니다 |
호스트 이름 |
원격 시스템의 정규화된 호스트 이름 또는 IP 주소입니다 |
점선 파일 무시하기 |
true이면 이름이 점(“.”)으로 시작하는 파일이 무시됩니다 |
Internal Buffer Size |
버퍼링된 데이터 스트림에 대한 내부 버퍼 크기 설정 |
비밀번호 |
사용자 계정의 비밀번호 |
경로 필터 정규식 |
재귀적으로 검색이 true이면 경로가 지정된 정규식과 일치하는 하위 디렉터리만 검색됩니다 |
Port |
데이터를 가져오기 위해 원격 호스트에서 연결할 포트입니다 |
원격 경로 |
파일을 가져오거나 푸시할 원격 시스템의 경로입니다 |
원격 투표 배치 크기 |
값은 파일 목록을 수행할 때 원격 시스템의 지정된 디렉터리에서 찾을 파일 경로의 수를 지정합니다. 일반적으로 이 값은 수정할 필요가 없지만, 아주 많은 수의 파일이 있는 원격 시스템에 대해 폴링할 때는 이 값이 매우 중요할 수 있습니다. 이 값을 너무 높게 설정하면 성능이 크게 저하될 수 있으며 너무 낮게 설정하면 흐름이 평소보다 느려질 수 있습니다. |
재귀적으로 검색하기 |
true이면 임의로 중첩된 하위 디렉터리에서 파일을 가져오고, 그렇지 않으면 하위 디렉터리를 트래버스하지 않습니다 |
Transfer Mode |
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’과 같습니다. 저장된 캐시 내용은 Gzip으로 압축된 JSON 문자열입니다. 대상 목록 구성이 변경되면 캐시 키가 삭제됩니다. ‘엔터티 추적’ 전략에서 사용됩니다. |
et-time-window |
이 프로세서가 이미 나열된 엔터티를 추적해야 하는 기간을 지정합니다. ‘엔터티 추적’ 전략은 타임스탬프가 지정된 시간 윈도우 내에 있는 모든 엔터티를 선택할 수 있습니다. 예를 들어, ‘30 minutes’로 설정하면 이 프로세서가 실행될 때 최근 30분 동안의 타임스탬프가 있는 모든 엔터티가 목록 대상이 됩니다. 나열된 엔터티는 ‘new/updated’로 간주되며 FlowFile은 다음 조건 중 하나가 충족될 경우 내보내집니다. 1. 이미 나열된 엔터티에 존재하지 않음, 2. 캐시된 엔터티보다 최신 타임스탬프를 포함함, 3. 캐시된 엔터티와는 크기가 다름. 캐시된 엔터티의 타임스탬프가 지정된 기간보다 오래되면 해당 엔터티는 캐시된 이미 나열된 엔터티에서 제거됩니다. ‘Tracking Entities’ 전략에서 사용됩니다. |
팔로우 심볼릭 링크 |
true이면, 심볼릭 파일과 중첩된 심볼릭 하위 디렉터리도 가져오고, 그렇지 않으면 심볼릭 파일을 읽지 않고 심볼릭 링크 하위 디렉터리를 트래버스하지 않습니다 |
ftp-use-utf8 |
파일 및 파일 이름을 처리할 때 클라이언트에 UTF-8 인코딩을 사용하도록 지시합니다. true로 설정하면 서버가 UTF-8 인코딩도 지원해야 합니다. |
listing-strategy |
신규/업데이트된 엔터티를 확인하는 방법을 지정합니다. 자세한 내용은 각 전략 설명을 참조하십시오. |
프록시 구성 서비스 |
네트워크 요청을 프록시할 프록시 구성 컨트롤러 서비스를 지정합니다. |
record-writer |
목록 작성에 사용할 Record Writer를 지정합니다. 지정하지 않으면 목록에 있는 각 엔터티에 대해 FlowFile 이 1개씩 생성됩니다. Record Writer를 지정하면 모든 엔터티는 개별 FlowFiles 에 특성을 추가하는 대신 단일 FlowFile 에 기록됩니다. |
target-system-timestamp-precision |
대상 시스템에서 타임스탬프 전체 자릿수를 지정합니다. 이 프로세서는 엔터티의 타임스탬프를 사용하여 목록에 추가할 엔터티를 결정하므로 타임스탬프의 올바른 전체 자릿수를 사용하는 것이 중요합니다. |
상태 관리¶
범위 |
설명 |
|---|---|
CLUSTER |
파일 목록 성능을 수행한 후 최신 파일의 타임스탬프가 저장됩니다. 이렇게 하면 프로세서가 다음에 프로세서를 실행할 때 이 날짜 이후에 추가되거나 수정된 파일만 목록에 표시할 수 있습니다. 상태는 클러스터 전체에 저장되어 이 프로세서가 기본 노드에서만 실행될 수 있으며 새 기본 노드가 선택되면 새 노드는 이전 기본 노드가 나열한 데이터를 복제하지 않습니다. |
관계¶
이름 |
설명 |
|---|---|
성공 |
수신된 모든 FlowFiles 은 성공으로 라우팅됩니다 |
Writes 특성¶
이름 |
설명 |
|---|---|
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’ 형식으로 표시됩니다. |
파일 이름 |
FTP 서버에 있는 파일의 이름 |
경로 |
파일을 가져온 FTP 서버에 있는 디렉터리의 정규화된 이름입니다 |