ListGCSBucket 2025.10.2.19¶
번들¶
org.apache.nifi | nifi-gcp-nar
설명¶
GCS 버킷에서 오브젝트 목록을 검색합니다. 목록에 있는 각 오브젝트에 대해 해당 오브젝트를 나타내는 FlowFile 을 생성하여 FetchGCSObject 와 함께 가져올 수 있도록 합니다. 이 프로세서는 클러스터의 기본 노드에서만 실행되도록 설계되었습니다. 기본 노드가 변경되면 새 기본 노드는 모든 데이터를 복제하지 않고 이전 노드가 중단한 부분을 이어받습니다.
입력 요구 사항¶
FORBIDDEN
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
|---|---|
GCP 자격 증명 공급자 서비스 |
컨트롤러 서비스는 Google 클라우드 플랫폼 자격 증명을 얻는 데 사용됩니다. |
et-initial-listing-target |
초기 목록을 처리하는 방법을 지정합니다. ‘엔터티 추적’ 전략에서 사용됩니다. |
et-state-cache |
나열된 엔터티는 지정된 캐시 저장소에 저장되므로 NiFi 재시작 시 또는 기본 노드가 변경되는 경우 이 프로세서가 나열을 재개할 수 있습니다. ‘엔터티 추적’ 전략에서는 마지막 ‘추적 시간 윈도우’ 내에 나열된 모든 엔터티의 추적 정보가 필요합니다. 많은 수의 엔터티를 지원하기 위해 이 전략에서는 관리되는 상태 대신 DistributedMapCache를 사용합니다. 캐시 키 형식은 ‘ListedEntities::{processorId}(::{nodeId})’입니다. 노드별로 나열된 엔터티를 추적하는 경우 상태를 별도로 관리하기 위해 선택적 ‘::{nodeId}’ 부분이 추가됩니다. 예를 들면 클러스터 전체 캐시 키 =’ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b’, 노드당 캐시 키 =’ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3’과 같습니다. 저장된 캐시 내용은 Gzip으로 압축된 JSON 문자열입니다. 대상 목록 구성이 변경되면 캐시 키가 삭제됩니다. ‘엔터티 추적’ 전략에서 사용됩니다. |
et-time-window |
이 프로세서가 이미 나열된 엔터티를 추적해야 하는 기간을 지정합니다. ‘엔터티 추적’ 전략은 타임스탬프가 지정된 시간 윈도우 내에 있는 모든 엔터티를 선택할 수 있습니다. 예를 들어, ‘30 minutes’로 설정하면 이 프로세서가 실행될 때 최근 30분 동안의 타임스탬프가 있는 모든 엔터티가 목록 대상이 됩니다. 나열된 엔터티는 ‘new/updated’로 간주되며 FlowFile은 다음 조건 중 하나가 충족될 경우 내보내집니다. 1. 이미 나열된 엔터티에 존재하지 않음, 2. 캐시된 엔터티보다 최신 타임스탬프를 포함함, 3. 캐시된 엔터티와는 크기가 다름. 캐시된 엔터티의 타임스탬프가 지정된 기간보다 오래되면 해당 엔터티는 캐시된 이미 나열된 엔터티에서 제거됩니다. ‘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 문자열입니다. |