31.5. 사용법


31.5.1. S3 프로듀서에서 평가한 메시지 헤더

Expand
header유형설명

CamelAwsS3BucketName

문자열

이 오브젝트가 저장될 버킷 이름 또는 현재 작업에 사용될 버킷 이름

CamelAwsS3BucketDestinationName

문자열

Camel 2.18: 현재 작업에 사용할 버킷 대상 이름

CamelAwsS3ContentLength

long

이 오브젝트의 콘텐츠 길이입니다.

CamelAwsS3ContentType

문자열

이 오브젝트의 콘텐츠 유형입니다.

CamelAwsS3ContentControl

문자열

Camel 2.8.2: 이 오브젝트의 콘텐츠 제어입니다.

CamelAwsS3ContentDisposition

문자열

Camel 2.8.2: 이 오브젝트의 콘텐츠 배치입니다.

CamelAwsS3ContentEncoding

문자열

Camel 2.8.2: 이 오브젝트의 콘텐츠 인코딩입니다.

CamelAwsS3ContentMD5

문자열

Camel 2.8.2: 이 오브젝트의 md5 체크섬입니다.

CamelAwsS3DestinationKey

문자열

Camel 2.18: 현재 작업에 사용할 대상 키

CamelAwsS3Key

문자열

이 개체가 저장되거나 현재 작업에 사용될 키입니다.

CamelAwsS3LastModified

java.util.Date

Camel 2.8.2: 이 오브젝트의 마지막으로 수정된 타임 스탬프입니다.

CamelAwsS3Operation

문자열

Camel 2.18: 수행할 작업입니다. 허용되는 값은 copyObject, deleteObject, listBuckets, deleteBucket, downloadLink, listObjects입니다.

CamelAwsS3StorageClass

문자열

Camel 2.8.4: 이 오브젝트의 스토리지 클래스입니다.

CamelAwsS3CannedAcl

문자열

Camel 2.11.0: 오브젝트에 적용할 카나리아 acl입니다. 허용된 값에 대해 com.amazonaws.services.s3.model.CannedAccessControlList 를 참조하십시오.

CamelAwsS3Acl

com.amazonaws.services.s3.model.AccessControlList

Camel 2.11.0: 잘 구성된 Amazon S3 액세스 제어 목록 오브젝트. 자세한 내용은 com.amazonaws.services.s3.model.AccessControlList 를 참조하십시오.

CamelAwsS3Headers

Map<String,String>

Camel 2.15.0: 사용자 지정 objectMetadata 헤더를 가져오거나 설정합니다.

CamelAwsS3ServerSideEncryption

문자열

Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘을 설정합니다. 예를 들어 AES256을 사용합니다.

CamelAwsS3VersionId

문자열

현재 작업에서 저장하거나 반환할 오브젝트의 버전 ID

31.5.2. S3 프로듀서에서 설정한 메시지 헤더

Expand
header유형설명

CamelAwsS3ETag

문자열

새로 업로드된 오브젝트의 ETag 값입니다.

CamelAwsS3VersionId

문자열

새로 업로드된 오브젝트의 선택적 버전 ID입니다.

CamelAwsS3DownloadLinkExpiration

문자열

URL 다운로드 링크의 만료 (millis)입니다. 링크는 CamelAwsS3DownloadLink 응답 헤더에 저장됩니다.

31.5.3. S3 소비자가 설정한 메시지 헤더

Expand
header유형설명

CamelAwsS3Key

문자열

이 오브젝트가 저장되는 키입니다.

CamelAwsS3BucketName

문자열

이 오브젝트가 포함된 버킷의 이름입니다.

CamelAwsS3ETag

문자열

RFC 1864에 따라 관련 오브젝트의 16진수로 인코딩된 128비트 MD5 다이제스트입니다. 이 데이터는 호출자가 수신한 데이터가 Amazon S3에서 보낸 데이터와 동일한지 확인하는 무결성 검사로 사용됩니다.

CamelAwsS3LastModified

날짜

Last-Modified 헤더의 값은 Amazon S3가 관련 오브젝트에 대한 수정을 마지막으로 기록한 날짜 및 시간을 나타냅니다.

CamelAwsS3VersionId

문자열

사용 가능한 경우 관련 Amazon S3 오브젝트의 버전 ID입니다. 버전 ID는 오브젝트 버전 관리가 활성화된 Amazon S3 버킷에 오브젝트가 업로드될 때만 오브젝트에 할당됩니다.

CamelAwsS3ContentType

문자열

Content-Type HTTP 헤더는 관련 오브젝트에 저장된 콘텐츠 유형을 나타냅니다. 이 헤더의 값은 표준 MIME 유형입니다.

CamelAwsS3ContentMD5

문자열

RFC 1864에 따른 관련 오브젝트(헤더를 포함하지 않음 - 제외)의 base64로 인코딩된 128비트 MD5 다이제스트입니다. 이 데이터는 메시지 무결성 검사로 사용되어 Amazon S3에서 수신한 데이터가 호출자가 보낸 데이터와 동일한지 확인합니다.

CamelAwsS3ContentLength

long

Content-Length HTTP 헤더는 연결된 오브젝트의 크기(바이트)를 나타냅니다.

CamelAwsS3ContentEncoding

문자열

오브젝트에 적용된 콘텐츠 인코딩과 Content-Type 필드에서 참조하는 미디어 유형을 얻기 위해 적용해야 하는 디코딩 메커니즘을 지정하는 선택적 Content-Encoding HTTP 헤더입니다.

CamelAwsS3ContentDisposition

문자열

개체의 권장 파일 이름과 같은 프레젠테이션 정보를 지정하는 선택적 Content-Disposition HTTP 헤더입니다.

CamelAwsS3ContentControl

문자열

사용자가 HTTP 요청/응답 체인을 따라 캐싱 동작을 지정할 수 있는 선택적 Cache-Control HTTP 헤더입니다.

CamelAwsS3ServerSideEncryption

문자열

Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘입니다.

31.5.4. S3 Producer 작업

Camel-AWS s3 구성 요소는 생산자 측에서 다음과 같은 작업을 제공합니다.

  • copyObject
  • deleteObject
  • listBuckets
  • deleteBucket
  • downloadLink
  • listObjects

31.5.5. 고급 AmazonS3 구성

Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 AmazonS3 인스턴스 구성을 더 많이 제어해야 하는 경우 자체 인스턴스를 생성할 수 있습니다.

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");

ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonS3 client = new AmazonS3Client(awsCredentials, clientConfiguration);

registry.bind("client", client);
Copy to Clipboard Toggle word wrap

Camel aws-s3 구성 요소 구성에서 참조하십시오.

from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
Copy to Clipboard Toggle word wrap

31.5.6. S3 구성 요소와 함께 KMS 사용

AWS KMS를 사용하여 AWS 인프라를 사용하여 데이터를 암호화/암호화하려면 다음 예제와 같이 2.21.x에 도입된 옵션을 사용할 수 있습니다.

from("file:tmp/test?fileName=test.txt")
     .setHeader(S3Constants.KEY, constant("testFile"))
     .to("aws-s3://mybucket?amazonS3Client=#client&useAwsKMS=true&awsKMSKeyId=3f0637ad-296a-3dfe-a796-e60654fb128c");
Copy to Clipboard Toggle word wrap

이렇게 하면 S3에 KMS 키 3f0637ad-296a-3dfe-a796-e60654fb128c를 사용하여 test.txt 파일을 암호화하도록 요청합니다. 이 파일을 다운로드하도록 요청하면 암호 해독이 다운로드 전에 직접 수행됩니다.

31.5.7. s3 구성 요소와 함께 "useIAMCredentials" 사용

AWS IAM 인증 정보를 사용하려면 먼저 Camel 애플리케이션을 시작하는 EC2에 효과적으로 관련된 적절한 정책이 포함된 IAM 역할이 있는지 확인해야 합니다. 이 기능은 원격 인스턴스에서만 "true"로 설정해야 합니다. IAM은 AWS 특정 구성 요소이므로 계속 정적 인증 정보를 로컬에서 사용해야 하지만 AWS 환경을 보다 쉽게 관리할 수 있어야 합니다. 이 값을 구현 및 이해한 후 AWS 환경에 대해 "useIAMCredentials"를 "true"로 설정할 수 있습니다. 로컬 및 원격 환경에 따라 이를 효과적으로 토글하려면 시스템 환경 변수를 사용하여 이 쿼리 매개변수를 활성화할 수 있습니다. 예를 들어 코드에서 "useIAMCredentials" 쿼리 매개 변수를 "true"로 설정할 수 있습니다. "isRemote"라는 시스템 환경 변수가 true로 설정될 때 이 작업을 수행하는 다른 방법이 많이 있으며 이 방법이 간단한 예제로 작동해야 합니다. 정적 인증 정보가 완전히 필요하지는 않지만 AWS 환경에서 IAM 인증 정보를 사용하면 원격 환경에서 새로 고칠 필요가 없어지며 주요 보안 향상을 추가합니다(IAM 인증 정보는 6시간마다 자동으로 새로 고쳐지며 정책이 업데이트될 때 업데이트됨). 이 AWS는 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat