35.5. 사용법
35.5.1. SQS 프로듀서에서 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
header | 유형 | 설명 |
---|---|---|
|
| Amazon SQS 메시지의 MD5 체크섬입니다. |
|
| Amazon SQS 메시지 ID입니다. |
|
| Camel 2.11 이후 Amazon SQS 메시지의 지연 시간(초)은 다른 사람이 볼 수 있습니다. |
35.5.2. SQS 소비자가 설정한 메시지 헤더 링크 복사링크가 클립보드에 복사되었습니다!
header | 유형 | 설명 |
---|---|---|
|
| Amazon SQS 메시지의 MD5 체크섬입니다. |
|
| Amazon SQS 메시지 ID입니다. |
|
| Amazon SQS 메시지 수신 처리. |
|
| Amazon SQS 메시지 속성. |
35.5.3. 고급 AmazonSQS 구성 링크 복사링크가 클립보드에 복사되었습니다!
Camel 애플리케이션이 방화벽 뒤에서 실행 중이거나 AmazonSQS 인스턴스 구성을 더 많이 제어해야 하는 경우 자체 인스턴스를 생성할 수 있습니다.
Camel aws-sqs 구성 요소 구성에서 참조하십시오.
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5") .to("mock:result");
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
35.5.4. SQS 대기열 생성 또는 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
SQS 구성 요소에서 끝점이 시작될 때 큐 존재에 대한 정보를 가져오기 위해 검사가 실행됩니다. SQSConfiguration 옵션을 사용하여 QueueAttributeName 매핑을 통해 생성을 사용자 지정할 수 있습니다.
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5") .to("mock:result");
from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
이 예에서는 MyQueue 큐가 AWS에 아직 생성되지 않은 경우 SQS 구성의 기본 매개변수를 사용하여 생성됩니다. AWS에 이미 있는 경우 SQS 구성 옵션을 사용하여 기존 AWS 구성을 덮어씁니다.
35.5.5. DelayQueue VS Delay for Single 메시지 링크 복사링크가 클립보드에 복사되었습니다!
2.23.0에서 구성 요소에는 delayQueue라는 새로운 옵션이 있습니다. 옵션이 true로 설정되면 SQS Queue는 지연으로 DelaySeconds 옵션을 사용하는 DelayQueue가 됩니다. DelayQueue에 대한 자세한 내용은 AWS SQS 문서를 참조하십시오. 고려해야 할 중요한 정보 중 하나는 다음과 같습니다.
- 표준 대기열의 경우 대기열별 지연 설정이 소급되어 설정을 변경해도 큐에 이미 메시지 지연에 영향을 미치지 않습니다.
- FIFO 대기열의 경우 대기열별 지연 설정이 retroactive-change this setting은 큐에 이미 있는 메시지의 지연에 영향을 미칩니다.
공식 문서에 명시된 대로 단일 메시지의 지연을 지정하려면 모든 메시지 enqueued에 고정된 지연을 추가해야 하는 경우 delayQueue 옵션을 무시할 수 있지만 이 옵션을 true로 설정할 수 있습니다.
35.5.6. SQS 구성 요소와 함께 AWS IAM 인증 정보 사용 링크 복사링크가 클립보드에 복사되었습니다!
AWS IAM 인증 정보를 사용하려면 먼저 Camel 애플리케이션을 시작하는 EC2 인스턴스에 IAM 역할이 연결되었고 적절한 정책이 연결되었는지 확인해야 합니다.
이 기능은 원격 인스턴스에서만 true
로 설정해야 합니다. 또한 IAM은 AWS 특정 구성 요소이므로 정적 인증 정보를 로컬에서 사용해야 합니다.
이 기능을 구현하려면 IAMCredentials를
.
true
로 사용합니다
로컬 및 원격 환경을 기반으로 이 기능을 설정 및 해제하려면 시스템 환경 변수를 사용하여 이 쿼리 매개변수를 활성화할 수 있습니다. 예를 들어, isRemote
라는 시스템 환경 변수가 true
로 설정된 경우 useIAMCredentials
쿼리 매개변수를 true
로 설정할 수 있습니다.
이 기능은 정적 인증 정보가 완전히 필요하지 않지만 AWS 환경에서 IAM 인증 정보를 사용하면 원격 환경에서 새로 고칠 필요가 없으며 IAM 인증 정보가 6시간마다 자동으로 새로 고쳐지고 EC2 보안 정책이 업데이트될 때 더 안전합니다.
이 AWS는 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.