곧 출시될 end-of-support AWS SDK for Java (v1) 버전을 발표했습니다
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SQS 메시지 대기열 사용
메시지 대기열은 Amazon SQS에서 메시지를 안정적으로 전송하는 데 사용되는 논리적 컨테이너입니다. 표준과 선입선출(FIFO), 이렇게 두 가지 유형의 대기열이 있습니다. 대기열과 이러한 유형 간의 차이에 대해 자세히 알아보려면 Amazon SQS 개발자 안내서를 참조하세요.
이 주제에서는 AWS SDK for Java를 사용하여 Amazon SQS 대기열의 URL을 생성, 나열, 삭제 및 가져오는 방법을 설명합니다.
대기열 생성
AmazonSQS 클라이언트의 createQueue
메서드를 사용하여 대기열 파라미터를 설명하는 CreateQueueRequest 객체를 지정합니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.AmazonSQSException; import com.amazonaws.services.sqs.model.CreateQueueRequest;
코드
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); CreateQueueRequest create_request = new CreateQueueRequest(QUEUE_NAME) .addAttributesEntry("DelaySeconds", "60") .addAttributesEntry("MessageRetentionPeriod", "86400"); try { sqs.createQueue(create_request); } catch (AmazonSQSException e) { if (!e.getErrorCode().equals("QueueAlreadyExists")) { throw e; } }
createQueue
의 간소화된 형식을 사용할 수 있습니다. 이 형식에서는 표준 대기열을 생성하는 데 대기열 이름만 있으면 됩니다.
sqs.createQueue("MyQueue" + new Date().getTime());
GitHub의 전체 예제
대기열 나열
계정에 대한 Amazon SQS 대기열을 나열하려면 AmazonSQS 클라이언트의 listQueues
메서드를 호출합니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesResult;
코드
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); ListQueuesResult lq_result = sqs.listQueues(); System.out.println("Your SQS Queue URLs:"); for (String url : lq_result.getQueueUrls()) { System.out.println(url); }
파라미터 없이 listQueues
오버로드를 사용하면 모든 대기열이 반환됩니다. ListQueuesRequest
객체를 전달하여 반환된 결과를 필터링할 수 있습니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesRequest;
코드
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String name_prefix = "Queue"; lq_result = sqs.listQueues(new ListQueuesRequest(name_prefix)); System.out.println("Queue URLs with prefix: " + name_prefix); for (String url : lq_result.getQueueUrls()) { System.out.println(url); }
GitHub의 전체 예제
대기열의 URL 가져오기
AmazonSQS 클라이언트의 getQueueUrl
메서드를 호출합니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
코드
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String queue_url = sqs.getQueueUrl(QUEUE_NAME).getQueueUrl();
GitHub의 전체 예제
대기열 삭제
대기열의 URL을 AmazonSQS 클라이언트의 deleteQueue
메서드에 제공합니다.
가져오기
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
코드
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.deleteQueue(queue_url);
GitHub의 전체 예제
추가 정보
-
Amazon SQS 개발자 안내서의 Amazon SQS 대기열 작동 방식
-
Amazon SQS API 참조에서 CreateQueue
-
Amazon SQS API 참조에서 GetQueueUrl
-
Amazon SQS API 참조에서 ListQueues
-
Amazon SQS API 참조에서 DeleteQueues