메시지 속성 전송 - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

메시지 속성 전송

를 사용하여 구조적 메타데이터 (예: 타임스탬프, 지형 정보 데이터, 서명 및 식별자) 를 메시지에 포함시킬 수 있습니다.메시지 속성. 자세한 정보는 Amazon SQS 메시지 속성을 참조하십시오.

예제 코드를 실행하기 전에 다음 코드를 설정했는지 확인하십시오.AWS자격 증명. 자세한 내용은 단원을 참조하십시오.설정AWS개발을 위한 자격 증명 및 리전AWS SDK for Java 2.x개발자 안내서.

속성 정의

메시지에 대한 속성을 정의하려면 다음 코드를 추가합니다.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"));
참고

기본 데이터 입력이 다음과 같기 때문에Number,ReceiveMessage메서드 반환123456.

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 (선입선출) 대기열에 메시지를 보내는 경우sendMessage메서드 실행메시지 그룹 ID를 입력합니다.

SendMessageBatch대신 메서드SendMessage를 사용하여 배치의 각 메시지에 대해 메시지 속성을 지정해야 합니다.