Amazon SQS에서 대기열 사용 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

Amazon SQS에서 대기열 사용

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • 모든 메시지 대기열의 목록을 가져오는 방법

  • 특정 대기열의 URL을 획득하는 방법

  • 대기열을 생성하고 삭제하는 방법

예제 소개

이 예제에서는 일련의 Node.js 모듈을 사용하여 대기열을 작업합니다. Node.js 모듈은 SDK for JavaScript로 AWS.SQS 클라이언트 클래스의 다음 메서드를 직접 호출하기 위해 대기열을 활성화합니다.

Amazon SQS 메시지에 대한 자세한 정보는 Amazon Simple Queue Service 개발자 안내서대기열의 작동 방식을 참조하세요.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

대기열 목록 표시

파일 이름이 sqs_listqueues.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. Amazon SQS에 액세스하려면 AWS.SQS 서비스 객체를 생성합니다. 대기열 목록을 표시하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체는 기본적으로 비어 있는 객체입니다. listQueues 메서드를 호출하여 대기열 목록을 검색합니다. 콜백에서 모든 대기열의 URL이 반환됩니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = {}; sqs.listQueues(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrls); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node sqs_listqueues.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

대기열 만들기

파일 이름이 sqs_createqueue.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. Amazon SQS에 액세스하려면 AWS.SQS 서비스 객체를 생성합니다. 대기열 목록을 표시하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 생성된 대기열의 이름이 포함되어야 합니다. 파라미터에는 메시지 전송이 지연되는 시간(초) 또는 수신한 메시지를 보관할 시간(초)과 같은 대기열의 속성도 포함될 수 있습니다. createQueue 메서드를 호출합니다. 콜백에서 생성된 대기열의 URL이 반환됩니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueName: "SQS_QUEUE_NAME", Attributes: { DelaySeconds: "60", MessageRetentionPeriod: "86400", }, }; sqs.createQueue(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrl); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node sqs_createqueue.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

대기열의 URL 가져오기

파일 이름이 sqs_getqueueurl.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. Amazon SQS에 액세스하려면 AWS.SQS 서비스 객체를 생성합니다. 대기열 목록을 표시하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체에는 URL을 가져올 대기열의 이름이 포함되어야 합니다. getQueueUrl 메서드를 호출합니다. 콜백에서 지정된 대기열의 URL이 반환됩니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueName: "SQS_QUEUE_NAME", }; sqs.getQueueUrl(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.QueueUrl); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node sqs_getqueueurl.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.

대기열 삭제

파일 이름이 sqs_deletequeue.js인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. Amazon SQS에 액세스하려면 AWS.SQS 서비스 객체를 생성합니다. 대기열을 삭제하는 데 필요한 파라미터를 포함하는 JSON 객체를 생성합니다. 이 객체는 삭제하려는 대기열의 URL로 구성됩니다. deleteQueue 메서드를 호출합니다.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create an SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { QueueUrl: "SQS_QUEUE_URL", }; sqs.deleteQueue(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

예제를 실행하려면 명령줄에서 다음을 입력합니다.

node sqs_deletequeue.js

이 샘플 코드는 GitHub에서 찾을 수 있습니다.