전송, 수신 및 삭제Amazon SQS메시지 - AWS SDK for Java

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

전송, 수신 및 삭제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의 전체 예제를 참조하십시오.

추가 정보