FetchS3Object 2025.10.9.21 — S3 객체 가져오기 프로세서
FetchS3Object 2025.10.9.21 — S3 객체 가져오기 프로세서
FetchS3Object 프로세서는 S3 객체의 내용을 가져와 FlowFile의 내용에 기록해요.
출처: Snowflake 문서
본문
기능 — 일반 공개 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP의 상용 리전에서 모든 계정에 제공돼요.
Openflow BYOC 배포는 AWS의 상용 리전에서 모든 계정에 제공돼요.
Bundle
org.apache.nifi | nifi-aws-nar
Description
S3 객체의 내용을 가져와 FlowFile의 내용에 기록해요.
Tags
AWS, Amazon, Fetch, Get, S3
Input Requirement
REQUIRED
Supports Sensitive Dynamic Properties
false
Properties
| Property | Description |
|---|---|
| AWS Credentials Provider service | AWS 자격 증명 공급자를 얻는 데 사용하는 Controller Service예요 |
| Bucket | 상호 작용할 S3 버킷 |
| Communications Timeout | AWS에 연결하거나 AWS에서 데이터를 받기 위해 시간 초과되기 전에 기다리는 시간 |
| Custom Signer Class Name | 사용자 정의 서명(signer) 클래스의 전체 자격을 갖춘 클래스 이름. 서명자는 com.amazonaws.auth.Signer 인터페이스를 구현해야 해요 |
| Custom Signer Module Location | 사용자 정의 서명자의 JAR 파일과 그 의존성(있다면)을 포함하는 파일 및/또는 디렉터리 경로의 쉼표로 구분된 목록 |
| Encryption Service | 요청을 구성하는 데 사용하는 Encryption Service Controller를 지정해요. PutS3Object: 이전 버전과의 호환성을 위해 'Server Side Encryption'이 설정되면 이 값은 무시돼요. FetchS3Object: Server-side Customer Key, Client-side KMS, Client-side Customer Key 암호화의 경우에만 구성하면 돼요 |
| Endpoint Override URL | scheme, host, port, path를 포함해 AWS 기본값 대신 사용할 Endpoint URL. AWS 라이브러리는 AWS 리전에 따라 endpoint URL을 선택하지만, 이 속성은 선택된 endpoint URL을 재정의해서 다른 S3 호환 엔드포인트와 함께 사용할 수 있게 해줘요 |
| Object Key | 사용할 S3 객체 키. 전통적인 파일 시스템의 파일 이름과 유사해요 |
| Range Length | Range Start부터 시작해 객체에서 다운로드할 바이트 수예요. 빈 값이거나 객체 끝을 넘어서는 값이면 객체 끝까지 읽어요 |
| Range Start | 객체에서 읽기를 시작할 바이트 위치예요. 빈 값이거나 0이면 객체의 시작 부분부터 읽기 시작해요 |
| Region | 연결할 AWS 리전 |
| Requester Pays | true면 요청자가 S3 버킷에서 객체를 가져오는 것과 관련된 모든 요금을 지불하는 데 동의함을 나타내요. 이렇게 하면 'x-amz-request-payer' 헤더가 'requester'로 설정돼요 |
| SSL Context Service | 제공되면 연결을 만드는 데 사용될 선택적 SSL Context Service를 지정해요 |
| Signer Override | AWS S3 라이브러리는 기본적으로 Signature Version 4를 사용하지만, 이 속성은 더 오래된 S3 호환 서비스를 지원하기 위해 Version 2 서명자를 지정하거나 자체 사용자 정의 서명자 구현을 연결할 수 있게 해줘요 |
| Version | 다운로드할 객체의 버전 |
| proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration Controller Service를 지정해요 |
Relationships
| Name | Description |
|---|---|
| failure | 프로세서가 주어진 FlowFile을 처리할 수 없으면 이 관계로 라우팅돼요 |
| success | 성공적으로 처리된 후 FlowFile이 이 관계로 라우팅돼요 |
Writes attributes
| Name | Description |
|---|---|
| s3.url | S3 객체에 접근하는 데 사용할 수 있는 URL |
| s3.bucket | S3 버킷의 이름 |
| path | 파일의 경로 |
| absolute.path | 파일의 경로 |
| filename | 파일의 이름 |
| hash.value | 파일의 MD5 합 |
| hash.algorithm | MD5 |
| mime.type | S3가 콘텐츠 타입/MIME 타입을 제공하면 이 속성이 그 파일을 담아요 |
| s3.etag | 파일이 변경됐는지 확인하는 데 사용할 수 있는 ETag |
| s3.exception | 프로세서 실행 중 발생한 예외의 클래스 이름 |
| s3.additionalDetails | 실패한 작업에서 S3가 제공한 세부 정보 |
| s3.statusCode | 실패한 작업의 HTTP 오류 코드 (있을 경우) |
| s3.errorCode | 실패한 작업의 S3 모니커 |
| s3.errorMessage | 실패한 작업의 S3 예외 메시지 |
| s3.expirationTime | 파일에 만료 날짜가 있으면 이 속성이 설정되고, UTC 시간으로 epoch 이후 밀리초를 포함해요 |
| s3.expirationTimeRuleId | 이 객체의 만료 시간을 지시하는 규칙의 ID |
| s3.sseAlgorithm | 객체의 서버 측 암호화 알고리즘 |
| s3.version | S3 객체의 버전 |
| s3.encryptionStrategy | (암호화된 경우) S3 객체를 저장하는 데 사용된 암호화 전략의 이름 |
Use cases
| Fetch a specific file from S3 |
|---|
| S3에서 특정 파일을 가져와요 |
Use Cases Involving Other Components
| Retrieve all files in an S3 bucket |
|---|
| S3 버킷의 모든 파일을 가져와요 |
| Retrieve only files from S3 that meet some specified criteria |
| 지정된 기준을 충족하는 S3 파일만 가져와요 |
| Retrieve new files as they arrive in an S3 bucket |
| S3 버킷에 도착하는 새 파일을 가져와요 |
See also
- org.apache.nifi.processors.aws.s3.CopyS3Object
- org.apache.nifi.processors.aws.s3.DeleteS3Object
- org.apache.nifi.processors.aws.s3.GetS3ObjectMetadata
- org.apache.nifi.processors.aws.s3.GetS3ObjectTags
- org.apache.nifi.processors.aws.s3.ListS3
- org.apache.nifi.processors.aws.s3.PutS3Object
- org.apache.nifi.processors.aws.s3.TagS3Object