ListFTP 2025.5.31.15¶
번들¶
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 |
초기 목록 처리 방법을 지정합니다. ‘Tracking Entities’ 전략에서 사용됩니다. |
et-state-cache |
이 프로세서가 NiFi 재시작 또는 기본 노드 변경 시 목록을 재개할 수 있도록 지정된 캐시 저장소에 목록 엔터티가 저장됩니다. ‘Tracking Entities’ 전략은 마지막 ‘Tracking Time Window’ 내에 나열된 모든 엔터티의 추적 정보를 필요로 합니다. 많은 수의 엔터티를 지원하기 위해 이 전략에서는 관리 상태 대신 DistributedMapCache 를 사용합니다. 캐시 키 형식은 ‘ListedEntities::{processorId}(::{nodeId})’입니다. 노드 목록 엔터티별로 추적하는 경우 선택 사항인 ‘::{nodeId}’ 부분이 추가되어 상태를 별도로 관리합니다. 예: 클러스터 차원 캐시 키 = ‘ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b’, 노드별 캐시 키 = ‘ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3’저장된 캐시 콘텐츠는 Gzip으로 압축된 JSON 문자열입니다. 캐시 키는 대상 목록 구성이 변경되면 삭제됩니다. ‘Tracking Entities’ 전략에서 사용됩니다. |
et-time-window |
이 프로세서가 이미 목록에 있는 엔터티를 추적할 기간을 지정합니다. ‘Tracking Entities’ 전략은 타임스탬프가 지정된 시간 윈도우 내에 있는 엔터티를 선택할 수 있습니다. 예를 들어, ‘30분’으로 설정하면 이 프로세서가 실행될 때 최근 30분 내에 타임스탬프가 있는 모든 엔터티가 목록 대상이 됩니다. 목록에 있는 엔터티는 1. 이미 목록에 있는 엔터티에 존재하지 않거나, 2. 캐시된 엔터티보다 타임스탬프가 더 새롭거나, 3. 캐시된 엔터티와 크기가 다른 경우의 조건 중 하나를 충족하면 ‘신규/업데이트’로 간주되며 FlowFile 이 전송됩니다. 캐시된 엔터티의 타임스탬프가 지정된 시간 윈도우보다 오래되면 해당 엔터티는 캐시된 이미 목록에 있는 엔터티에서 제거됩니다. ‘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 서버에 있는 디렉터리의 정규화된 이름입니다 |