ListGCSBucket 2025.5.31.15

번들

org.apache.nifi | nifi-gcp-nar

설명

GCS 버킷에서 오브젝트 목록을 검색합니다. 목록에 있는 각 오브젝트에 대해 해당 오브젝트를 나타내는 FlowFile 을 생성하여 FetchGCSObject 와 함께 가져올 수 있도록 합니다. 이 프로세서는 클러스터의 기본 노드에서만 실행되도록 설계되었습니다. 기본 노드가 변경되면 새 기본 노드는 모든 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받습니다.

태그

gcs, google, google cloud, list, storage

입력 요구 사항

FORBIDDEN

민감한 동적 속성 지원

false

속성

속성

설명

GCP 자격 증명 공급자 서비스

컨트롤러 서비스는 Google 클라우드 플랫폼 자격 증명을 얻는 데 사용됩니다.

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’ 전략에서 사용됩니다.

gcp-project-id

Google Cloud Project ID

gcp-retry-count

실패 관계로 라우팅하기 전에 시도해야 하는 재시도 횟수입니다.

gcs-bucket

오브젝트의 버킷입니다.

gcs-prefix

오브젝트 목록을 필터링하는 데 사용되는 접두사입니다. 대부분의 경우 슬래시(‘/’)로 끝나야 합니다.

gcs-use-generations

해당되는 경우 GCS 세대를 사용할지 여부를 지정합니다. false이면 각 오브젝트의 최신 버전만 반환됩니다.

listing-strategy

신규/업데이트된 엔터티를 확인하는 방법을 지정합니다. 자세한 내용은 각 전략 설명을 참조하십시오.

프록시 구성 서비스

네트워크 요청을 프록시할 프록시 구성 컨트롤러 서비스를 지정합니다.

record-writer

목록 작성에 사용할 Record Writer를 지정합니다. 지정하지 않으면 목록에 있는 각 엔터티에 대해 FlowFile 이 1개씩 생성됩니다. Record Writer를 지정하면 모든 엔터티는 개별 FlowFiles 에 특성을 추가하는 대신 단일 FlowFile 에 기록됩니다.

storage-api-url

기본 저장소 URL 을 재정의합니다. 대체 Storage API URL 을 구성하면 비공개 서비스 연결에 대한 Google 설명서의 설명과 같이 요청 시 HTTP 호스트 헤더가 재정의됩니다.

상태 관리

범위

설명

CLUSTER

키 목록을 수행한 후 최신 키의 타임스탬프가 동일한 타임스탬프를 공유하는 키와 함께 저장됩니다. 이렇게 하면 프로세서가 다음에 프로세서를 실행할 때 이 날짜 이후에 추가되거나 수정된 키만 목록에 표시할 수 있습니다. 상태는 클러스터 전체에 저장되므로 이 프로세서는 기본 노드에서만 실행될 수 있으며, 새로운 기본 노드가 선택되면 새 노드는 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받을 수 있습니다.

관계

이름

설명

성공

FlowFiles 은 성공적인 Google Cloud Storage 작업 후 이 관계로 라우팅됩니다.

Writes 특성

이름

설명

파일 이름

파일 이름

gcs.bucket

오브젝트의 버킷입니다.

gcs.key

오브젝트의 이름입니다.

gcs.size

오브젝트의 크기입니다.

gcs.cache.control

오브젝트의 데이터 캐시 제어.

gcs.component.count

오브젝트를 구성하는 구성 요소의 개수입니다.

gcs.content.disposition

오브젝트의 데이터 내용 처리입니다.

gcs.content.encoding

오브젝트의 내용 인코딩입니다.

gcs.content.language

오브젝트의 내용 언어입니다.

mime.type

오브젝트의 MIME/Content-Type

gcs.crc32c

오브젝트 데이터의 CRC32C 체크섬으로, 빅 엔디안 순서로 base64로 인코딩됩니다.

gcs.create.time

오브젝트의 생성 시간(밀리초)

gcs.update.time

오브젝트의 마지막 수정 시간(밀리초)

gcs.encryption.algorithm

오브젝트를 암호화하는 데 사용되는 알고리즘입니다.

gcs.encryption.sha256

오브젝트를 암호화하는 데 사용되는 키의 SHA256해시입니다

gcs.etag

오브젝트에 대한 HTTP 1.1 엔터티 태그입니다.

gcs.generated.id

오브젝트에 대해 생성된 서비스

gcs.generation

오브젝트의 데이터 생성.

gcs.md5

Base64로 인코딩된 오브젝트 데이터의 MD5 해시입니다.

gcs.media.link

오브젝트에 대한 미디어 다운로드 링크입니다.

gcs.metageneration

오브젝트의 메타제너레이션입니다.

gcs.owner

오브젝트의 소유자(업로더)입니다.

gcs.owner.type

오브젝트 업로더의 ACL 엔터티 유형입니다.

gcs.acl.owner

오브젝트에 대한 소유자 액세스 권한이 있는 ACL 엔터티의 쉼표로 구분된 목록입니다. 엔터티는 이메일 주소, 도메인 또는 프로젝트 IDs 입니다.

gcs.acl.writer

오브젝트에 대한 쓰기 권한이 있는 ACL 엔터티의 쉼표로 구분된 목록입니다. 엔터티는 이메일 주소, 도메인 또는 프로젝트 IDs 입니다.

gcs.acl.reader

오브젝트에 대한 읽기 액세스 권한이 있는 ACL 엔터티의 쉼표로 구분된 목록입니다. 엔터티는 이메일 주소, 도메인 또는 프로젝트 IDs 입니다.

gcs.uri

오브젝트의 URI 문자열입니다.

참고 항목