ListS3 2025.10.2.19

번들

org.apache.nifi | nifi-aws-nar

설명

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

태그

AWS, Amazon, S3, 목록

입력 요구 사항

FORBIDDEN

민감한 동적 속성 지원

false

속성

속성

설명

AWS 자격 증명 공급자 서비스

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

버킷

상호 작용할 S3 버킷

통신 시간 제한

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

사용자 지정 서명자 클래스 이름

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

사용자 지정 서명자 모듈 위치

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

구분 기호

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

Endpoint Override URL

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

목록 유형

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

목록 배치 크기

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

목록 전략

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

최대 오브젝트 사용 기간

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

최소 오브젝트 사용 기간

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

접두사

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

Record Writer

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

리전

연결할 AWS 리전입니다.

요청자 지불

true인 경우 요청자가 S3 버킷 나열과 관련된 모든 요금을 지불하는 데 동의함을 나타냅니다. 그러면 ‘x-amz-request-payer’ 헤더가 ‘requester’로 설정됩니다. ‘Use Versions’가 ‘true’인 경우에는 이 설정을 적용할 수 없습니다.

SSL 컨텍스트 서비스

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

Signer Override

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

버전 사용

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

오브젝트 태그 쓰기

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

사용자 메타데이터 쓰기

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

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

프록시 구성 서비스

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

상태 관리

범위

설명

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 특성의 일부로 기록됩니다

참고 항목