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.FetchBoxFile
  • org.apache.nifi.processors.box.PutBoxFile

더 알아보기 (Learn more)