ListSmb 2025.10.2.19¶
번들¶
org.apache.nifi | nifi-smb-nar
설명¶
SMB 프로토콜을 통해 공유된 구체적인 파일을 목록으로 표시합니다. 목록에 있는 각 파일은 FlowFile, 메타데이터는 FlowFile 특성으로 작성될 수 있습니다. 또는 ‘Record Writer’ 속성이 설정된 경우 전체 결과가 단일 FlowFile 에 레코드로 기록됩니다. 이 프로세서는 클러스터의 기본 노드에서만 실행되도록 설계되었습니다. 기본 노드가 변경되면 새 기본 노드는 모든 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받습니다.
입력 요구 사항¶
FORBIDDEN
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
|---|---|
디렉터리 |
파일을 나열할 네트워크 폴더입니다. 공유 후 남은 상대 경로: smb://HOSTNAME:PORT/SHARE/[DIRECTORY]/sub/directories. 하위 디렉터리를 추가할 수도 있습니다. 원격 파일 공유에 지정된 경로가 존재해야 합니다. 이는 인증을 통해 확인할 수 있습니다. Windows와 Linux 스타일의 디렉터리 구분 기호를 혼합하여 사용할 수 있습니다. |
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’ 전략에서 사용됩니다. |
file-filter |
이름이 지정된 정규식과 일치하는 파일만 목록에 표시됩니다. |
file-name-suffix-filter |
지정된 접미사로 끝나는 파일은 생략됩니다. 아직 업로드 중인 파일에 접미사를 붙이고 업로드가 끝나면 접미사를 제거하여 업로드 중인 파일이 여러 번 목록에 나열되지 않도록 하는 데 사용할 수 있습니다. ‘Tracking Entities’ 또는 ‘Tracking Timestamps’ 목록 전략을 사용할 때 이 방법을 적극 권장합니다. |
initial-listing-strategy |
프로세서가 처음 시작되거나 상태가 지워졌을 때 SMB 공유에 있는 기존 파일을 처리하는 방법을 지정합니다. |
initial-listing-timestamp |
프로세서를 처음 시작할 때(또는 해당 상태가 지워졌을 때) 파일이 목록에 표시되는 타임스탬프입니다. 값은 밀리초 단위의 epoch 타임스탬프로 지정하거나 2025-02-01T00:00:00Z와 같은 형식의 UTC 날짜 시간으로 지정할 수 있습니다 |
listing-strategy |
신규/업데이트된 엔터티를 확인하는 방법을 지정합니다. 자세한 내용은 각 전략 설명을 참조하십시오. |
max-file-age |
지정된 값보다 오래된 파일은 생략됩니다. |
max-file-size |
지정된 값보다 큰 파일은 생략됩니다. |
min-file-age |
파일이 목록에 등록되기 위해 필요한 최소 수명으로, 이 기간 미만의 파일은 무시됩니다. |
min-file-size |
지정된 값보다 작은 파일은 생략됩니다. |
path-filter |
경로(파일의 상위 디렉터리까지)가 지정된 정규식과 일치하는 파일만 목록에 표시됩니다. |
record-writer |
목록 작성에 사용할 Record Writer를 지정합니다. 지정하지 않으면 목록에 있는 각 엔터티에 대해 FlowFile 이 1개씩 생성됩니다. Record Writer를 지정하면 모든 엔터티는 개별 FlowFiles 에 특성을 추가하는 대신 단일 FlowFile 에 기록됩니다. |
smb-client-provider-service |
SMB 연결을 만드는 데 사용할 SMB 클라이언트 공급자를 지정합니다. |
target-system-timestamp-precision |
대상 시스템에서 타임스탬프 전체 자릿수를 지정합니다. 이 프로세서는 엔터티의 타임스탬프를 사용하여 목록에 추가할 엔터티를 결정하므로 타임스탬프의 올바른 전체 자릿수를 사용하는 것이 중요합니다. |
상태 관리¶
범위 |
설명 |
|---|---|
CLUSTER |
파일 목록 성능을 수행한 후 이전 목록의 상태를 저장하여 중복 없이 파일을 연속적으로 나열할 수 있습니다. |
관계¶
이름 |
설명 |
|---|---|
성공 |
수신된 모든 FlowFiles 은 성공으로 라우팅됩니다 |
Writes 특성¶
이름 |
설명 |
|---|---|
파일 이름 |
파일 시스템에서 읽은 파일의 이름입니다. |
shortName |
파일 시스템에서 읽은 파일의 짧은 이름입니다. |
경로 |
경로는 공유 루트 디렉터리를 기준으로 원격 파일 시스템에서 파일 디렉터리의 상대 경로로 설정됩니다. 예를 들어, 지정된 원격 위치 smb://HOSTNAME:PORT/SHARE/DIRECTORY 에 파일이 목록에 있는 경우 smb://HOSTNAME:PORT/SHARE/DIRECTORY/sub/folder/file 경로 특성은 “DIRECTORY/sub/folder”로 설정됩니다. |
serviceLocation |
공유의 SMB URL 입니다. |
lastModifiedTime |
파일 시스템에서 파일의 내용이 변경된 시점의 타임스탬프를 ‘yyyy-MM-dd’T’HH:mm:ss’로 표시합니다. |
creationTime |
파일 시스템에서 파일이 생성된 시점의 타임스탬프는 ‘yyyy-MM-dd’T’HH:mm:ss’입니다. |
lastAccessTime |
파일 시스템에서 파일에 액세스한 시점의 타임스탬프는 ‘yyyy-MM-dd’T’HH:mm:ss’입니다. |
changeTime |
파일 시스템에서 파일의 특성이 변경된 시점의 타임스탬프는 ‘yyyy-MM-dd’T’HH:mm:ss’입니다. |
크기 |
파일의 크기(바이트 단위)입니다. |
allocationSize |
서버에서 파일에 할당된 바이트 수입니다. |