ListGoogleDrive 2025.5.31.15

번들

org.apache.nifi | nifi-gcp-nar

설명

Google Drive 폴더에 있는 구체적인 파일 목록(바로 가기는 무시됨)을 수행합니다. ‘Record Writer’ 속성이 설정되어 있으면 단일 출력 FlowFile 이 생성되고 목록의 각 파일이 출력 파일에 1개의 레코드로 기록됩니다. 그렇지 않으면 목록의 각 파일에 대해 개별 FlowFile 이 생성되고 메타데이터는 FlowFile 특성으로 작성됩니다. 이 프로세서는 클러스터의 기본 노드에서만 실행되도록 설계되었습니다. 기본 노드가 변경되면 새 기본 노드는 모든 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받습니다. Google Drive에 대한 액세스 권한을 설정하려면 추가 세부 정보를 참조하십시오.

태그

drive, google, storage

입력 요구 사항

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

공유 드라이브의 이름(파일이 공유 드라이브에 위치한 경우)

참고 항목