ListSmb 2025.5.31.15¶
번들¶
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 |
초기 목록 처리 방법을 지정합니다. ‘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’ 전략에서 사용됩니다. |
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 |
서버에서 파일에 할당된 바이트 수입니다. |