36.5. 사용법


36.5.1. SQS 생산자가 설정한 메시지 헤더

헤더유형설명

CamelAwsSqsMD5OfBody

문자열

Amazon SQS 메시지의 MD5 체크섬입니다.

CamelAwsSqsMessageId

문자열

Amazon SQS 메시지 ID입니다.

CamelAwsSqsDelaySeconds

정수

Camel 2.11 이후 다른 사용자가 Amazon SQS 메시지를 볼 수 있는 지연 시간(초)입니다.

36.5.2. SQS 소비자가 설정한 메시지 헤더

헤더유형설명

CamelAwsSqsMD5OfBody

문자열

Amazon SQS 메시지의 MD5 체크섬입니다.

CamelAwsSqsMessageId

문자열

Amazon SQS 메시지 ID입니다.

CamelAwsSqsReceiptHandle

문자열

Amazon SQS 메시지 수신 처리입니다.

CamelAwsSqsMessageAttributes

Map<String, String>

Amazon SQS 메시지 속성입니다.

36.5.3. 고급 AmazonSQS 구성

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

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

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

AmazonSQS client = new AmazonSQSClient(awsCredentials, clientConfiguration);

registry.bind("client", client);

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

from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");

36.5.4. SQS 대기열 생성 또는 업데이트

SQS 구성 요소에서 끝점이 시작되면 큐의 존재 여부에 대한 정보를 얻기 위해 검사가 실행됩니다. SQSConfiguration 옵션을 사용하여 QueueAttributeName 매핑을 통해 생성을 사용자 지정할 수 있습니다.

from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");

이 예에서는 AWS에서 MyQueue 큐가 아직 생성되지 않은 경우 SQS 구성의 기본 매개변수를 사용하여 생성됩니다. 이미 AWS에 있는 경우 SQS 구성 옵션이 기존 AWS 구성을 재정의하는 데 사용됩니다.

36.5.5. DelayQueue VS Delay for Single message

2.23.0에서 구성 요소에는 delayQueue라는 새로운 옵션이 있습니다. 옵션을 true로 설정하면 SQS Queue는 DelaySeconds 옵션이 delay인 DelayQueue가 됩니다. DelayQueue에 대한 자세한 내용은 AWS SQS 문서를 참조하십시오. 고려해야 할 중요한 정보 중 하나는 다음과 같습니다.

  • 표준 대기열의 경우 큐별 지연 설정은 소급되지 않으므로 설정을 변경해도 큐에 이미 있는 메시지 지연에는 영향을 미치지 않습니다.
  • FIFO 대기열의 경우 큐별 지연 설정이 소급되어 설정이 대기열에 이미 있는 메시지의 지연에 영향을 미칩니다.

공식 문서에 명시된 대로 단일 메시지에 지연을 지정하려면 큐에 있는 모든 메시지에 고정 지연을 추가해야 하는 경우 이 옵션을 true로 설정하는 동안 delayQueue 옵션을 무시할 수 있습니다.

36.5.6. SQS 구성 요소가 AWS IAM 인증 정보 사용

AWS IAM 인증 정보를 사용하려면 먼저 Camel 애플리케이션을 시작하는 EC2 인스턴스에 연결된 IAM 역할이 있고 적절한 정책이 연결되어 있는지 확인해야 합니다.

이 기능은 원격 인스턴스에서만 true 로 설정해야 합니다. 또한 IAM은 AWS 특정 구성 요소이므로 정적 인증 정보를 로컬로 사용해야 합니다.

이 기능 세트를 구현하려면 IAMCredentials를 true 로 사용합니다.

참고

로컬 및 원격 환경에 따라 이 기능을 켜거나 비활성화하려면 시스템 환경 변수를 사용하여 이 쿼리 매개변수를 활성화하는 것이 좋습니다. 예를 들어 isRemote 라는 시스템 환경 변수가 true 로 설정된 경우 코드에서 useIAMCredentials 쿼리 매개변수를 true 로 설정할 수 있습니다.

이 기능을 사용하면 정적 인증 정보가 완전히 필요하지 않지만 AWS 환경에서 IAM 인증 정보를 사용하면 원격 환경에서 새로 고침할 필요가 없으며 6시간마다 IAM 인증 정보가 자동으로 새로 고쳐지고 EC2 보안 정책이 업데이트될 때 업데이트되므로 더 안전합니다.

이는 AWS에서 인증 정보를 관리하는 데 권장되는 방법이므로 가능한 한 자주 사용해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.