기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SQS 대기열에 메시지 속성 전송
메시지 속성을 사용하여 메시지에 구조화된 메타데이터(예: 타임스탬프, 지리 공간 데이터, 서명 및 식별자)를 포함할 수 있습니다. 자세한 정보는 Amazon SQS 메시지 속성을 참조하세요.
예제 코드를 실행하기 전에 AWS 자격 증명을 설정했는지 확인하십시오. 자세한 내용은 AWS SDK for Java 2.x 개발자 안내서의 개발용 AWS 자격 증명 및 지역 설정을 참조하십시오.
속성 정의
메시지에 대한 속성을 정의하려면 MessageAttributeValue
데이터 유형을 사용하는 다음 코드를 추가합니다. 자세한 내용은 메시지 속성 구성 요소 및 메시지 속성 데이터 형식 섹션을 참조하세요.
는 메시지 본문과 메시지 속성 체크섬을 AWS SDK for Java 자동으로 계산하여 Amazon SQS가 반환하는 데이터와 비교합니다. 자세한 내용은 AWS SDK for Java 2.x 개발자 안내서 및 다른 프로그래밍 언어의 메시지 속성의 MD5 메시지 다이제스트 계산을 참조하세요.
- String
-
이 예제에서는 값 Jane
을 사용하여 Name
이라는 String
속성을 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("Name", new MessageAttributeValue()
.withDataType("String")
.withStringValue("Jane"));
- Number
-
이 예제에서는 값 230.000000000000000001
을 사용하여 AccurateWeight
이라는 Number
속성을 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("AccurateWeight", new MessageAttributeValue()
.withDataType("Number")
.withStringValue("230.000000000000000001"));
- Binary
-
이 예제에서는 초기화되지 않은 10바이트 어레이의 값을 사용하여 ByteArray
라는 Binary
속성을 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("ByteArray", new MessageAttributeValue()
.withDataType("Binary")
.withBinaryValue(ByteBuffer.wrap(new byte[10])));
- String (custom)
-
이 예제에서는 값 ABC123456
을 사용하여 EmployeeId
라는 사용자 지정 속성 String.EmployeeId
를 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("EmployeeId", new MessageAttributeValue()
.withDataType("String.EmployeeId")
.withStringValue("ABC123456"));
- Number (custom)
-
이 예제에서는 값 000123456
을 사용하여 AccountId
라는 사용자 지정 속성 Number.AccountId
를 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("AccountId", new MessageAttributeValue()
.withDataType("Number.AccountId")
.withStringValue("000123456"));
- Binary (custom)
-
이 예제에서는 초기화되지 않은 10바이트 어레이의 값을 사용하여 ApplicationIcon
이라는 사용자 지정 속성 Binary.JPEG
를 정의합니다.
final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("ApplicationIcon", new MessageAttributeValue()
.withDataType("Binary.JPEG")
.withBinaryValue(ByteBuffer.wrap(new byte[10])));
속성을 포함하는 메시지 전송
이 예에서는 메시지를 보내기 전에 SendMessageRequest
에 속성을 추가합니다.
// Send a message with an attribute.
final SendMessageRequest sendMessageRequest = new SendMessageRequest();
sendMessageRequest.withMessageBody("This is my message text.");
sendMessageRequest.withQueueUrl(myQueueUrl);
sendMessageRequest.withMessageAttributes(messageAttributes);
sqs.sendMessage(sendMessageRequest);
선입선출(FIFO) 대기열로 메시지를 보내는 경우 메시지 그룹 ID를 제공한 후 sendMessage
메서드가 실행되는지 확인하세요.
SendMessage
대신 SendMessageBatch
메서드를 사용하는 경우 배치의 개별 메시지에 대해 메시지 속성을 지정해야 합니다.