sqs 예제

SQS(Simple Queue Service)는 아마존 웹 서비스(AWS)에서 제공하는 분산 메시지 큐 서비스입니다. 이를 통해 애플리케이션 간 비동기 통신을 할 수 있습니다. 이번 예제에서는 SQS를 사용하여 메시지를 보내고 받는 과정을 살펴보도록 하겠습니다.

1. SQS 생성

먼저 AWS 콘솔에 접속하여 SQS를 생성해야 합니다. 아래는 SQS 생성을 위한 간단한 단계입니다:

  1. AWS Management Console에 로그인합니다.
  2. “SQS”를 검색하고 “Amazon SQS”를 선택합니다.
  3. “Create Queue”를 클릭하여 큐를 생성합니다.
  4. 필요한 설정을 입력하고 “Create Queue”를 클릭합니다.
  5. 큐가 생성되었습니다.

2. 메시지 보내기

이제 Python을 사용하여 SQS에서 메시지를 보내는 예제 코드를 작성해보겠습니다. 아래는 예제 코드입니다:

import boto3

# SQS 클라이언트 생성
sqs = boto3.client('sqs')

# 큐 URL 지정
queue_url = 'YOUR_QUEUE_URL'

# 메시지 전송
response = sqs.send_message(
    QueueUrl=queue_url,
    MessageBody='Hello, SQS!'
)

# 응답 출력
print(response['MessageId'])

위 코드에서 ‘YOUR_QUEUE_URL’을 생성한 큐의 URL로 변경해야 합니다.

3. 메시지 받기

이제는 SQS에서 메시지를 받는 예제 코드를 작성해보겠습니다. 아래는 예제 코드입니다:

import boto3

# SQS 클라이언트 생성
sqs = boto3.client('sqs')

# 큐 URL 지정
queue_url = 'YOUR_QUEUE_URL'

# 메시지 수신
response = sqs.receive_message(
    QueueUrl=queue_url,
    MaxNumberOfMessages=1,
    WaitTimeSeconds=5
)

# 메시지 출력
messages = response.get('Messages')
if messages:
    message = messages[0]
    receipt_handle = message['ReceiptHandle']

    print('Received Message: {}'.format(message['Body']))

    # 메시지 삭제
    sqs.delete_message(
        QueueUrl=queue_url,
        ReceiptHandle=receipt_handle
    )
else:
    print('No messages in the queue')

위 코드에서도 ‘YOUR_QUEUE_URL’을 생성한 큐의 URL로 변경해야 합니다.

마무리

위 예제를 통해 SQS를 사용하여 메시지를 보내고 받는 방법을 알아보았습니다. SQS는 안정적이고 확장 가능한 메시지 전송 서비스로, 애플리케이션 간 비동기 통신을 구현하는 데 유용하게 사용될 수 있습니다. 추가로 SQS의 다양한 기능을 참고하여 응용해보시기 바랍니다.

#AWS #SQS