32.5. 사용법


32.5.1. S3 생산자가 평가한 메시지 헤더

헤더유형설명

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: 오브젝트에 적용할 canned acl입니다. 허용되는 값은 com.amazonaws.services.s3.model.CannedAccessControlList 를 참조하십시오.

CamelAwsS3Acl

com.amazonaws.services.s3.model.AccessControlList

Camel 2.11.0: 잘 구성된 Amazon S3 Access Control List 오브젝트입니다. 자세한 내용은 com.amazonaws.services.s3.model.AccessControlList 를 참조하십시오.

CamelAwsS3Headers

Map<String,String>

Camel 2.15.0: 사용자 정의 오브젝트Metadata 헤더를 가져오거나 설정합니다.

CamelAwsS3ServerSideEncryption

문자열

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

CamelAwsS3VersionId

문자열

현재 작업에서 저장하거나 반환할 개체 ID입니다.

32.5.2. S3 생산자가 설정한 메시지 헤더

헤더유형설명

CamelAwsS3ETag

문자열

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

CamelAwsS3VersionId

문자열

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

CamelAwsS3DownloadLinkExpiration

문자열

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

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

헤더유형설명

CamelAwsS3Key

문자열

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

CamelAwsS3BucketName

문자열

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

CamelAwsS3ETag

문자열

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

CamelAwsS3LastModified

날짜

Amazon S3가 마지막으로 연결된 오브젝트에 대한 수정을 마지막으로 기록한 날짜와 시간을 나타내는 Last- Cryostat 헤더의 값입니다.

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

문자열

선택 사항 인 Cache-Control HTTP 헤더를 사용하여 사용자가 HTTP 요청/응답 체인을 통해 캐싱 동작을 지정할 수 있습니다.

CamelAwsS3ServerSideEncryption

문자열

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

32.5.4. S3 Producer 작업

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

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

32.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);

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

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

32.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");

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

32.5.7. s3 구성 요소와 함께 "IAMCredentials" 사용

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

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.