ListBoxFile 프로세서
ListBoxFile 프로세서
Openflow의 ListBoxFile 프로세서는 Box 폴더의 파일을 나열하는 프로세서예요. 각 나열된 파일은 하나의 FlowFile이 될 수 있으며 메타데이터는 FlowFile 속성으로 기록됩니다.
출처: Snowflake 문서
본문
기능 — 일반 공급 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있습니다.
Bundle
org.apache.nifi | nifi-box-nar
설명
Box 폴더의 파일을 나열합니다. 각 나열된 파일은 하나의 FlowFile이 될 수 있으며(메타데이터는 FlowFile 속성으로 기록됨), 'Record Writer' 속성이 설정된 경우 전체 결과가 단일 FlowFile의 레코드로 기록됩니다. 이 프로세서는 클러스터에서 프라이머리 노드에서만 실행되도록 설계되었습니다. 프라이머리 노드가 변경되면 새 프라이머리 노드가 모든 데이터를 중복하지 않고 이전 노드가 중단한 지점부터 이어받습니다.
태그
box, storage
입력 요구사항
금지 (FORBIDDEN)
민감한 동적 속성 지원
false
속성
| 이름 | 설명 |
|---|---|
| Box Client Service | Box API 연결을 얻는 데 사용하는 컨트롤러 서비스입니다. |
| Entity Tracking Initial Listing Target | 초기 나열을 처리할 방법을 지정합니다. 'Tracking Entities' 전략에서 사용됩니다. |
| Entity Tracking 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' 전략에서 사용됩니다. |
| Entity Tracking Time Window | 이 프로세서가 이미 나열된 엔터티를 추적해야 하는 기간을 지정합니다. 'Tracking Entities' 전략은 지정된 시간 창 안의 타임스탬프를 가진 모든 엔터티를 선택할 수 있습니다. 예를 들어 '30 minutes'로 설정하면 이 프로세서가 실행될 때 최근 30분 내의 타임스탬프를 가진 엔터티가 나열 대상이 됩니다. 다음 조건 중 하나를 충족하면 나열된 엔터티가 '새로움/업데이트됨'으로 간주되어 FlowFile이 내보내집니다: 1. 이미 나열된 엔터티에 존재하지 않음, 2. 캐시된 엔터티보다 최신 타임스탬프를 가짐, 3. 캐시된 엔터티와 크기가 다름. 캐시된 엔터티의 타임스탬프가 지정된 시간 창보다 오래되면 그 엔터티는 캐시된 이미 나열된 엔터티에서 제거됩니다. 'Tracking Entities' 전략에서 사용됩니다. |
| Folder ID | 파일 목록을 가져올 폴더의 ID입니다. |
| Listing Strategy | 새로운/업데이트된 엔터티를 결정하는 방법을 지정합니다. 각 전략 설명을 참조하세요. |
| Minimum File Age | 고려 대상이 되기 위해 파일이 가져야 하는 최소 기간입니다. 이보다 최신 파일은 무시됩니다. |
| Record Writer | 나열을 만드는 데 사용할 Record Writer를 지정합니다. 지정하지 않으면 나열된 각 엔터티에 대해 하나의 FlowFile이 생성됩니다. Record Writer를 지정하면 모든 엔터티가 개별 FlowFile에 속성을 추가하는 대신 단일 FlowFile로 기록됩니다. |
| Search Recursively | 'true'이면 하위 폴더의 파일 목록을 포함합니다. 그렇지 않으면 'Folder ID' 속성이 정의한 폴더 안의 파일만 반환합니다. |
상태 관리
| 이름 | 설명 |
|---|---|
| CLUSTER | 프로세서는 이미 나열된 파일을 추적하기 위해 필요한 데이터를 저장합니다. 정확히 무엇을 저장해야 하는지는 'Listing Strategy'에 따라 다릅니다. |
관계
| 이름 | 설명 |
|---|---|
| success | 수신된 모든 FlowFile은 success로 라우팅됩니다. |
쓰기 속성
| 이름 | 설명 |
|---|---|
| box.id | 파일의 ID입니다. |
| filename | 파일 이름입니다. |
| path | 파일이 있는 폴더 경로입니다. |
| box.size | 파일의 크기입니다. |
| box.timestamp | 파일의 마지막 수정 시간입니다. |
참고 항목
org.apache.nifi.processors.box.FetchBoxFileorg.apache.nifi.processors.box.PutBoxFile