31.5. 사용법
31.5.1. S3 프로듀서에서 평가한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
header | 유형 | 설명 |
---|---|---|
|
| 이 오브젝트가 저장될 버킷 이름 또는 현재 작업에 사용될 버킷 이름 |
|
| Camel 2.18: 현재 작업에 사용할 버킷 대상 이름 |
|
| 이 오브젝트의 콘텐츠 길이입니다. |
|
| 이 오브젝트의 콘텐츠 유형입니다. |
|
| Camel 2.8.2: 이 오브젝트의 콘텐츠 제어입니다. |
|
| Camel 2.8.2: 이 오브젝트의 콘텐츠 배치입니다. |
|
| Camel 2.8.2: 이 오브젝트의 콘텐츠 인코딩입니다. |
|
| Camel 2.8.2: 이 오브젝트의 md5 체크섬입니다. |
|
| Camel 2.18: 현재 작업에 사용할 대상 키 |
|
| 이 개체가 저장되거나 현재 작업에 사용될 키입니다. |
|
| Camel 2.8.2: 이 오브젝트의 마지막으로 수정된 타임 스탬프입니다. |
|
| Camel 2.18: 수행할 작업입니다. 허용되는 값은 copyObject, deleteObject, listBuckets, deleteBucket, downloadLink, listObjects입니다. |
|
| Camel 2.8.4: 이 오브젝트의 스토리지 클래스입니다. |
|
|
Camel 2.11.0: 오브젝트에 적용할 카나리아 acl입니다. 허용된 값에 대해 |
|
|
Camel 2.11.0: 잘 구성된 Amazon S3 액세스 제어 목록 오브젝트. 자세한 내용은 |
|
| Camel 2.15.0: 사용자 지정 objectMetadata 헤더를 가져오거나 설정합니다. |
| 문자열 | Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘을 설정합니다. 예를 들어 AES256을 사용합니다. |
|
| 현재 작업에서 저장하거나 반환할 오브젝트의 버전 ID |
31.5.2. S3 프로듀서에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
header | 유형 | 설명 |
---|---|---|
|
| 새로 업로드된 오브젝트의 ETag 값입니다. |
|
| 새로 업로드된 오브젝트의 선택적 버전 ID입니다. |
|
| URL 다운로드 링크의 만료 (millis)입니다. 링크는 CamelAwsS3DownloadLink 응답 헤더에 저장됩니다. |
31.5.3. S3 소비자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
header | 유형 | 설명 |
---|---|---|
|
| 이 오브젝트가 저장되는 키입니다. |
|
| 이 오브젝트가 포함된 버킷의 이름입니다. |
|
| RFC 1864에 따라 관련 오브젝트의 16진수로 인코딩된 128비트 MD5 다이제스트입니다. 이 데이터는 호출자가 수신한 데이터가 Amazon S3에서 보낸 데이터와 동일한지 확인하는 무결성 검사로 사용됩니다. |
|
| Last-Modified 헤더의 값은 Amazon S3가 관련 오브젝트에 대한 수정을 마지막으로 기록한 날짜 및 시간을 나타냅니다. |
|
| 사용 가능한 경우 관련 Amazon S3 오브젝트의 버전 ID입니다. 버전 ID는 오브젝트 버전 관리가 활성화된 Amazon S3 버킷에 오브젝트가 업로드될 때만 오브젝트에 할당됩니다. |
|
| Content-Type HTTP 헤더는 관련 오브젝트에 저장된 콘텐츠 유형을 나타냅니다. 이 헤더의 값은 표준 MIME 유형입니다. |
|
| RFC 1864에 따른 관련 오브젝트(헤더를 포함하지 않음 - 제외)의 base64로 인코딩된 128비트 MD5 다이제스트입니다. 이 데이터는 메시지 무결성 검사로 사용되어 Amazon S3에서 수신한 데이터가 호출자가 보낸 데이터와 동일한지 확인합니다. |
|
| Content-Length HTTP 헤더는 연결된 오브젝트의 크기(바이트)를 나타냅니다. |
|
| 오브젝트에 적용된 콘텐츠 인코딩과 Content-Type 필드에서 참조하는 미디어 유형을 얻기 위해 적용해야 하는 디코딩 메커니즘을 지정하는 선택적 Content-Encoding HTTP 헤더입니다. |
|
| 개체의 권장 파일 이름과 같은 프레젠테이션 정보를 지정하는 선택적 Content-Disposition HTTP 헤더입니다. |
|
| 사용자가 HTTP 요청/응답 체인을 따라 캐싱 동작을 지정할 수 있는 선택적 Cache-Control HTTP 헤더입니다. |
| 문자열 | Camel 2.16: AWS 관리 키를 사용하여 오브젝트를 암호화할 때 서버 측 암호화 알고리즘입니다. |
31.5.4. S3 Producer 작업 링크 복사링크가 클립보드에 복사되었습니다!
Camel-AWS s3 구성 요소는 생산자 측에서 다음과 같은 작업을 제공합니다.
- copyObject
- deleteObject
- listBuckets
- deleteBucket
- downloadLink
- listObjects
31.5.5. 고급 AmazonS3 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 AmazonS3
인스턴스 구성을 더 많이 제어해야 하는 경우 자체 인스턴스를 생성할 수 있습니다.
Camel aws-s3 구성 요소 구성에서 참조하십시오.
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5") .to("mock:result");
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
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");
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 파일을 암호화하도록 요청합니다. 이 파일을 다운로드하도록 요청하면 암호 해독이 다운로드 전에 직접 수행됩니다.
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는 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.