기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
전송, 수신 및 삭제Amazon SQS메시지
이 주제에서는 Amazon SQS 메시지를 전송, 수신 및 삭제하는 방법을 설명합니다. 메시지는 항상 SQS 대기열을 사용하여 전달됩니다.
메시지 보내기
단일 메시지를Amazon SQSAmazonSQs 클라이언트를 호출하여 대기열sendMessage
메서드. a 제공SendMessageRequest대기열의 객체를 저장합니다.URL, 메시지 본문 및 선택적 지연 값 (초)
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.SendMessageRequest;
코드
SendMessageRequest send_msg_request = new SendMessageRequest() .withQueueUrl(queueUrl) .withMessageBody("hello world") .withDelaySeconds(5); sqs.sendMessage(send_msg_request);
GitHub의 전체 예제
한 번에 여러 메시지 전송
단일 요청으로 두 개 이상의 메시지를 전송할 수 있습니다. 여러 메시지를 보내려면 AmazonSQs 클라이언트를 사용하십시오.sendMessageBatch
메서드,SendMessageBatchRequest대기열 URL과 메시지 목록 (각 메시지 목록) 을 포함합니다.SendMessageBatchRequestEntry) 전송할 수 있습니다. 메시지마다 지연 값(선택 사항)을 설정할 수도 있습니다.
가져오기
import com.amazonaws.services.sqs.model.SendMessageBatchRequest; import com.amazonaws.services.sqs.model.SendMessageBatchRequestEntry;
코드
SendMessageBatchRequest send_batch_request = new SendMessageBatchRequest() .withQueueUrl(queueUrl) .withEntries( new SendMessageBatchRequestEntry( "msg_1", "Hello from message 1"), new SendMessageBatchRequestEntry( "msg_2", "Hello from message 2") .withDelaySeconds(10)); sqs.sendMessageBatch(send_batch_request);
GitHub의 전체 예제
메시지 수신
AmazonSqs 클라이언트를 호출하여 현재 대기열에 있는 메시지를 모두 가져옵니다.receiveMessage
메서드, 대기열의 URL을 전달합니다. 메시지는 Message 객체의 목록으로 반환됩니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.AmazonSQSException; import com.amazonaws.services.sqs.model.SendMessageBatchRequest;
코드
List<Message> messages = sqs.receiveMessage(queueUrl).getMessages();
수신 후 메시지 삭제
메시지를 수신하고 메시지의 내용을 처리한 후에는 메시지의 수신 핸들과 대기열 URL을 AmazonSqs 클라이언트로 전송하여 대기열에서 메시지를 삭제합니다.deleteMessage
메서드.
코드
for (Message m : messages) { sqs.deleteMessage(queueUrl, m.getReceiptHandle()); }
GitHub의 전체 예제
추가 정보
-
방법Amazon SQS대기열의 작동의Amazon SQS개발자 안내서
-
SendMessage의Amazon SQSAPI 참조
-
SendMessageBatch의Amazon SQSAPI 참조
-
ReceiveMessage의Amazon SQSAPI 참조
-
DeleteMessage의Amazon SQSAPI 참조