ListGoogleDrive 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-gcp-nar
설명¶
Google Drive 폴더에 있는 구체적인 파일 목록(바로 가기는 무시됨)을 수행합니다. ‘Record Writer’ 속성이 설정되어 있으면 단일 출력 FlowFile 이 생성되고 목록의 각 파일이 출력 파일에 1개의 레코드로 기록됩니다. 그렇지 않으면 목록의 각 파일에 대해 개별 FlowFile 이 생성되고 메타데이터는 FlowFile 특성으로 작성됩니다. 이 프로세서는 클러스터의 기본 노드에서만 실행되도록 설계되었습니다. 기본 노드가 변경되면 새 기본 노드는 모든 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받습니다. Google Drive에 대한 액세스 권한을 설정하려면 추가 세부 정보를 참조하십시오.
입력 요구 사항¶
FORBIDDEN
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
---|---|
connect-timeout |
Google Drive 서비스에 연결하기 위한 최대 대기 시간입니다. |
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’ 전략에서 사용됩니다. |
folder-id |
파일 목록을 가져올 폴더의 ID 입니다. Google Drive에 대한 액세스 권한을 설정하고 폴더 ID 를 얻으려면 추가 세부 정보를 참조하십시오. WARNING: 폴더에 대한 무단 액세스는 폴더가 비어 있는 것처럼 처리됩니다. 그 결과 프로세서는 발신 FlowFiles 을 생성하지 않습니다. 추가 오류 메시지는 제공되지 않습니다. |
gcp-credentials-provider-service |
컨트롤러 서비스는 Google 클라우드 플랫폼 자격 증명을 얻는 데 사용됩니다. |
listing-strategy |
신규/업데이트된 엔터티를 확인하는 방법을 지정합니다. 자세한 내용은 각 전략 설명을 참조하십시오. |
최소 수명 |
파일이 고려되려면 최소 수명이 있어야 하며, 이 기간 미만의 파일은 무시됩니다. |
프록시 구성 서비스 |
네트워크 요청을 프록시할 프록시 구성 컨트롤러 서비스를 지정합니다. |
read-timeout |
Google Drive 서비스의 최대 응답 대기 시간입니다. |
record-writer |
목록 작성에 사용할 Record Writer를 지정합니다. 지정하지 않으면 목록에 있는 각 엔터티에 대해 FlowFile 이 1개씩 생성됩니다. Record Writer를 지정하면 모든 엔터티는 개별 FlowFiles 에 특성을 추가하는 대신 단일 FlowFile 에 기록됩니다. |
재귀 검색 |
‘true’인 경우, 구체적인 하위 폴더의 파일 목록을 포함합니다(바로 가기 무시). 그렇지 않으면 ‘폴더 ID’를 상위 항목으로 정의한 파일만 직접 반환합니다. WARNING: 하위 폴더가 너무 많으면(500개 이상) 목록이 표시되지 않을 수 있습니다. |
상태 관리¶
범위 |
설명 |
---|---|
CLUSTER |
프로세서는 어떤 파일이 이미 목록에 있는지 추적할 수 있도록 필요한 데이터를 저장합니다. 정확히 무엇을 저장해야 하는지는 ‘Listing Strategy’에 따라 다릅니다. 상태는 클러스터 전체에 저장되므로 이 프로세서는 기본 노드에서만 실행될 수 있으며, 새로운 기본 노드가 선택되면 새 노드는 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받을 수 있습니다. |
관계¶
이름 |
설명 |
---|---|
성공 |
수신된 모든 FlowFiles 은 성공으로 라우팅됩니다 |
Writes 특성¶
이름 |
설명 |
---|---|
drive.id |
파일의 ID |
파일 이름 |
파일 이름 |
mime.type |
파일의 MIME 유형 |
drive.size |
파일의 크기입니다. 파일 크기를 사용할 수 없는 경우(예: 외부에 저장된 파일) 0으로 설정합니다. |
drive.size.available |
파일 크기를 알 수 있는지/사용 가능한지 여부를 나타냅니다. |
drive.timestamp |
파일의 마지막 수정 시간 또는 생성 시간(둘 중 더 큰 시간). 그 이유는 Google Drive에 파일을 업로드할 때 파일의 원래 수정 날짜가 보존되기 때문입니다. Created time’은 업로드가 발생한 시간을 의미합니다. 하지만 업로드한 파일은 나중에 수정할 수 있습니다. |
drive.created.time |
파일의 생성 시간 |
drive.modified.time |
파일의 마지막 수정 시간 |
drive.path |
기본 디렉토리에서 파일의 디렉터리 경로입니다. Google Drive는 파일 이름에 특수 문자(예: ‘/’(슬래시) 및 ‘'(백슬래시))를 사용할 수 있기 때문에 경로에는 URL 인코딩 형식의 폴더 이름이 포함됩니다. URL 인코딩 폴더 이름은 경로에서 ‘/’로 구분됩니다. |
drive.owner |
파일 소유자 |
drive.last.modifying.user |
파일의 마지막 수정 사용자 |
drive.web.view.link |
파일에 대한 웹 뷰 링크 |
drive.web.content.link |
파일에 대한 웹 내용 링크 |
drive.parent.folder.id |
파일의 상위 항목 폴더의 ID입니다 |
drive.parent.folder.name |
파일의 상위 항목 폴더 이름입니다 |
drive.listed.folder.id |
목록에 있는 기본 폴더의 ID입니다 |
drive.listed.folder.name |
목록에 있는 기본 폴더의 이름입니다 |
drive.shared.drive.id |
공유 드라이브의 ID(파일이 공유 드라이브에 위치한 경우) |
drive.shared.drive.name |
공유 드라이브의 이름(파일이 공유 드라이브에 위치한 경우) |