ListS3 2025.5.31.15

번들

org.apache.nifi | nifi-aws-nar

설명

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

태그

AWS, Amazon, S3, 목록

입력 요구 사항

FORBIDDEN

민감한 동적 속성 지원

false

속성

속성

설명

AWS 자격 증명 공급자 서비스

AWS 자격 증명 공급자를 획득하는 데 사용되는 컨트롤러 서비스

버킷

상호 작용할 S3 버킷

통신 시간 제한

AWS 에 연결을 설정하거나 AWS 에서 데이터를 수신하기 위해 시간 초과 전에 대기해야 하는 시간입니다.

Endpoint Override URL

스키마, 호스트, 포트, 경로 등 기본값인 AWS 대신 사용할 엔드포인트 URL 을 설정합니다. AWS 라이브러리는 AWS 리전을 기반으로 엔드포인트 URL 을 선택하지만, 이 속성은 선택한 엔드포인트 URL 을 재정의하여 다른 S3 호환 엔드포인트와 함께 사용할 수 있도록 합니다.

목록 배치 크기

Record Writer를 사용하지 않는 경우, 이 속성은 단일 배치에 얼마나 많은 S3 오브젝트를 배치할지 결정합니다. 이 번호에 도달하면 생성된 FlowFiles 주소가 프로세서 밖으로 전송됩니다. 이 값을 낮게 설정하면 전체 목록이 완료되기 전에 FlowFiles 을 전송하여 지연 시간을 줄일 수 있습니다. 그러나 성능이 크게 저하될 수 있습니다. 값이 클수록 FlowFiles 을 전송하기 전에 모든 정보를 저장하는 데 더 많은 메모리가 필요할 수 있습니다. Record Writer의 주요 이점 중 하나는 전체 목록을 1개의 FlowFile 로 전송할 수 있다는 것이므로 Record Writer를 사용하는 경우 이 속성은 무시됩니다.

리전

연결할 AWS 리전입니다.

SSL 컨텍스트 서비스

공급자가 제공하는 경우 연결을 만드는 데 사용할 선택적 SSL 컨텍스트 서비스를 지정합니다

Signer Override

AWS S3 라이브러리는 기본적으로 서명 버전 4를 사용하지만 이 속성을 사용하면 버전 2 서명자를 지정하여 이전 S3 호환 서비스를 지원하거나 사용자 정의 서명자 구현을 플러그인할 수도 있습니다.

custom-signer-class-name

사용자 지정 서명자 클래스의 정규화된 클래스 이름입니다. 서명자는 com.amazonaws.auth.Signer 인터페이스를 구현해야 합니다.

custom-signer-module-location

사용자 지정 서명자의 JAR 파일 및 종속성(있는 경우)을 포함하는 파일 및/또는 디렉터리 경로를 쉼표로 구분한 목록입니다.

구분_기호

버킷 내 디렉터리를 구분하는 데 사용되는 문자열입니다. 이 필드의 올바른 사용법은 AWS 설명서를 참조하십시오.

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

목록 유형

원래 목록 오브젝트를 사용할지 아니면 최신 목록 오브젝트 버전 2 엔드포인트를 사용할지 지정합니다.

listing-strategy

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

max-age

S3 오브젝트가 고려될 수 있는 최대 수명, 이 시간(마지막 수정 날짜 기준)보다 오래된 오브젝트는 무시됩니다

최소 수명

S3 오브젝트가 고려되기 위한 최소 수명, 이 시간(마지막 수정 날짜 기준) 미만의 오브젝트는 무시됩니다

접두사

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

프록시 구성 서비스

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

record-writer

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

requester-pays

true이면 요청자가 S3 버킷 목록 등록과 관련된 모든 비용을 지불하는 데 동의함을 나타냅니다. 이렇게 하면 ‘x-amz-request-payer’ 헤더가 ‘요청자’로 설정됩니다. 이 설정은 ‘Use Versions’이 ‘true’인 경우에는 적용되지 않습니다.

use-versions

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

write-s3-object-tags

‘true’로 설정하면 S3 오브젝트와 연결된 태그가 FlowFile 특성으로 작성됩니다

write-s3-user-metadata

‘true’로 설정하면 S3 오브젝트와 관련된 사용자 정의 메타데이터가 FlowFile 특성/레코드에 추가됩니다

상태 관리

범위

설명

CLUSTER

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

관계

이름

설명

성공

FlowFiles 은 성공적으로 처리된 후 이 관계로 라우팅됩니다.

Writes 특성

이름

설명

s3.bucket

S3 버킷의 이름

s3.region

S3 버킷의 리전

파일 이름

파일 이름

s3.etag

파일이 변경되었는지 확인하는 데 사용할 수 있는 ETag

s3.isLatest

오브젝트의 최신 버전인지 여부를 나타내는 부울입니다

s3.lastModified

epoch 이후 마지막으로 수정된 시간(밀리초 단위, UTC시간 기준)

s3.length

오브젝트의 크기(바이트)입니다

s3.storeClass

오브젝트의 저장소 클래스

s3.version

해당되는 경우 오브젝트의 버전입니다

s3.tag.___

‘Write Object Tags’가 ‘true’로 설정되어 있으면 목록에 있는 S3 오브젝트에 연결된 태그가 flowfile 특성의 일부로 기록됩니다

s3.user.metadata.___

‘Write User Metadata’가 ‘true’로 설정되어 있으면 목록에 있는 S3 오브젝트에 연결된 사용자 정의 메타데이터가 flowfile 특성의 일부로 기록됩니다

참고 항목