sqs 예제
SQS(Simple Queue Service)는 아마존 웹 서비스(AWS)에서 제공하는 분산 메시지 큐 서비스입니다. 이를 통해 애플리케이션 간 비동기 통신을 할 수 있습니다. 이번 예제에서는 SQS를 사용하여 메시지를 보내고 받는 과정을 살펴보도록 하겠습니다.
1. SQS 생성
먼저 AWS 콘솔에 접속하여 SQS를 생성해야 합니다. 아래는 SQS 생성을 위한 간단한 단계입니다:
- AWS Management Console에 로그인합니다.
- “SQS”를 검색하고 “Amazon SQS”를 선택합니다.
- “Create Queue”를 클릭하여 큐를 생성합니다.
- 필요한 설정을 입력하고 “Create Queue”를 클릭합니다.
- 큐가 생성되었습니다.
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