(aws) AWS CLI를 사용하여 Amazon SQS 대기열을 생성하고 보는 방법

AWS CLI를 사용하여 Amazon SQS 대기열을 생성하고 보는 방법에 대한 지침

1. 대기열 만들기

aws sqs create-queue --queue-name MyQueue

위 명령은 “MyQueue”라는 새 SQS 대기열을 생성합니다.

큐 생성에 성공하면 큐의 URL이 출력됩니다.

2. 대기열 확인

aws sqs list-queues

위 명령은 AWS 계정에 있는 모든 SQS 대기열의 URL을 출력합니다.

MyQueue의 URL은 출력 URL에서 찾을 수 있습니다.

{
    "QueueUrls": (
        "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
        "https://sqs.us-east-1.amazonaws.com/123456789012/YourQueue"
    )
}

3. 대기열 정보 확인

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-names All

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” SQS 대기열의 모든 속성을 URL로 출력합니다.

출력에서 ​​대기열 이름, URL, 생성 날짜와 같은 정보를 확인할 수 있습니다.

위의 명령은 AWS CLI를 사용하여 Amazon SQS 대기열을 생성하고 보는 방법을 보여줍니다.

다른 SQS 관련 명령을 사용하여 메시지를 보내고 받는 등의 작업을 수행할 수 있습니다.

4. 대기열 삭제

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL이 포함된 SQS 대기열을 삭제합니다.

5. 메시징

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --message-body "Hello World!
"

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL과 함께 “Hello World!
” 메시지를 SQS 대기열로 보냅니다.

6. 메시지 수신

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL로 SQS queue에서 가장 오래된 메시지를 수신합니다.

출력에서 ​​수신된 메시지의 ID, 텍스트 등의 정보를 확인할 수 있습니다.

위의 명령은 AWS CLI를 사용하여 Amazon SQS 대기열에서 간단한 작업을 수행하는 방법을 보여줍니다.

더 많은 명령과 옵션으로 더 많은 작업을 수행할 수 있습니다.

7. 메시지 삭제

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --receipt-handle AQEBwEXAMPLEu+8IwvSQn2iFrMQ==

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL이 있는 SQS 대기열에서 지정된 수신 핸들이 있는 메시지를 삭제합니다.

수신 핸들은 메시지를 수신했을 때 받는 핸들 값입니다.

8. 대량 메시지 삭제

aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --entries Id=1,ReceiptHandle=AQEBwEXAMPLEu+8IwvSQn2iFrMQ== Id=2,ReceiptHandle=AQEBwEXAMPLEu+8IwvSQn2iFrMQ==

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue“URL이 있는 SQS 대기열에서 지정된 수신 핸들이 있는 메시지를 일괄 삭제합니다.

9. 대기열 속성 업데이트

aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attributes VisibilityTimeout=3600

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL을 사용하여 SQS 대기열의 VisibilityTimeout 속성을 3600초(1시간)로 업데이트합니다.

VisibilityTimeout은 메시지가 처리되는 동안 다른 소비자가 메시지를 처리할 수 없음을 나타내는 시간입니다.

따라서 AWS CLI를 사용하여 Amazon SQS 대기열을 조작할 수 있습니다.

AWS SDK와 프로그래밍 방식으로 Amazon SQS를 사용할 수도 있습니다.

10. 대기열 속성 확인

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-names VisibilityTimeout MaximumMessageSize

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL VisibilityTimeout 및 MaximumMessageSize로 SQS 대기열의 속성을 확인하십시오.

11. 대기열 URL 목록 확인

aws sqs list-queues

위의 명령은 현재 AWS 계정에서 사용할 수 있는 모든 Amazon SQS 대기열 URL 목록을 반환합니다.

12. 대기열 이름으로 URL 가져오기

aws sqs get-queue-url --queue-name MyQueue

위의 명령은 “MyQueue”라는 Amazon SQS 대기열의 URL을 가져옵니다.

반환된 결과에서 대기열의 URL을 확인할 수 있습니다.

이러한 AWS CLI 명령을 사용하여 Amazon SQS 대기열을 조작할 수 있습니다.

이 외에도 다양한 명령이 있으며 필요에 따라 적절한 명령을 선택하여 Amazon SQS를 사용할 수 있습니다.

13. 대기열 삭제

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL이 있는 Amazon SQS 대기열을 삭제합니다.

이 명령을 실행하면 이 대기열에서 모든 메시지가 삭제되고 대기열도 삭제됩니다.

14. 지역별 대기열 목록 확인

aws sqs list-queues --region us-west-2

위의 명령은 us-west-2 리전에서 사용 가능한 Amazon SQS 대기열 URL 목록을 반환합니다.

15. 메시지 푸시 알림 구성

aws sqs create-queue --queue-name MyQueue --attributes "Policy={\"Version\":\"2012-10-17\",\"Statement\":({\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":\"sqs:SendMessage\",\"Resource\":\"arn:aws:sqs:us-east-1:123456789012:MyQueue\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:sns:us-east-1:123456789012:MyTopic\"}}})}"

위 명령은 “MyQueue”라는 이름의 Amazon SQS 대기열을 생성하고 해당 대기열로 메시지를 보낼 수 있는 권한이 있는 Amazon SNS 주제(arn:aws:sns:us-east-1:123456789012:MyTopic)에서 메시지를 보냅니다.

이를 통해 Amazon SNS 주제에서 발생한 이벤트를 Amazon SQS 대기열로 전달할 수 있습니다.

16. 메시지 수신 대기 시간 구성

aws sqs create-queue --queue-name MyQueue --attributes "ReceiveMessageWaitTimeSeconds=20"

위의 명령은 “MyQueue”라는 이름의 Amazon SQS 대기열을 생성하고 해당 대기열에서 메시지를 기다릴 때 20초 동안 대기하도록 구성합니다.

이러한 AWS CLI 명령을 사용하여 Amazon SQS 대기열을 생성, 삭제, 수정 및 쿼리할 수 있습니다.

이 외에도 다양한 명령이 있으며 필요에 따라 적절한 명령을 선택하여 Amazon SQS를 사용할 수 있습니다.

17. 대기열에 메시지 보내기

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --message-body "Hello World"

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue“URL”과 함께 Amazon SQS 대기열에 “Hello World” 메시지를 보냅니다.

18. 큐에서 받은 메시지

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL을 사용하여 Amazon SQS 대기열에서 메시지를 수신합니다.

이 명령은 대기열에서 첫 번째 메시지를 수신하고 해당 메시지의 내용을 반환합니다.

19. 메시지 삭제

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --receipt-handle AQEBBX8r9rRv4syD0Z2kY47i4h4LxIv+3Ez0i0t1qbA9XneRRFYvd8mcMqbTcCj58iL0Q2A0dew78g32Jy45bH9XgADlE8bW+6ZjPfvFnBhdd2ndv+VAWthJy+hL/7e1R+Rv/YptEx1Z2enF4J4PqoMxqz3nSvpV7bKk3qYw7yW8dIPsxI7X9vp3tq+w=

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL이 있는 Amazon SQS 대기열에서 메시지를 삭제합니다.

이 명령은 삭제할 메시지의 ReceiptHandle을 지정하여 메시지를 삭제합니다.

20. 메시지 속성 확인

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-names All

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL이 있는 Amazon SQS 대기열에서 메시지를 수신하고 해당 메시지의 모든 속성을 반환합니다.

이러한 AWS CLI 명령을 사용하여 Amazon SQS 대기열에서 메시지를 전송, 수신 및 삭제할 수 있습니다.

이 외에도 다양한 명령이 있으며 필요에 따라 적절한 명령을 선택하여 Amazon SQS를 사용할 수 있습니다.

21. 메시지 대기 시간 확인

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-names ApproximateReceiveCount, SentTimestamp, ApproximateFirstReceiveTimestamp, VisibilityTimeout

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL을 사용하여 Amazon SQS 대기열에서 메시지를 수신하고 해당 메시지의 지연 시간 관련 속성을 반환합니다.

22. 메시지 편집

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
aws sqs change-message-visibility --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --receipt-handle AQEBBX8r9rRv4syD0Z2kY47i4h4LxIv+3Ez0i0t1qbA9XneRRFYvd8mcMqbTcCj58iL0Q2A0dew78g32Jy45bH9XgADlE8bW+6ZjPfvFnBhdd2ndv+VAWthJy+hL/7e1R+Rv/YptEx1Z2enF4J4PqoMxqz3nSvpV7bKk3qYw7yW8dIPsxI7X9vp3tq+w= --visibility-timeout 60

첫 번째 명령은 큐에서 첫 번째 메시지를 받습니다.

두 번째 명령은 이 메시지의 ReceiptHandle을 사용하여 60초 동안 메시지의 가시성을 변경합니다.

23. 메시지 크기 제한 설정

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-names MaximumMessageSize

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue” URL과 함께 Amazon SQS 대기열의 최대 메시지 크기를 반환합니다.

24. 대기열 삭제

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

위 명령은 “https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue“URL이 있는 Amazon SQS 대기열을 삭제하십시오.

이러한 명령을 사용하여 Amazon SQS 대기열을 만들고 보고, 메시지를 보내고 삭제하고, 메시지 속성을 보고, 메시지를 수정하고, 대기열 크기 제한을 확인하고, 대기열을 삭제할 수 있습니다.

이 외에도 다양한 명령이 있으며 필요에 따라 적절한 명령을 선택하여 Amazon SQS를 사용할 수 있습니다.

25. AWS SDK를 사용하여 Amazon SQS 대기열 생성

AWS SDK를 사용하면 다양한 프로그래밍 언어로 Amazon SQS를 사용할 수 있습니다.

다음은 Python을 사용하여 Amazon SQS 대기열을 생성하기 위한 샘플 코드입니다.

import boto3

# Create SQS client
sqs = boto3.client('sqs')

# Create a SQS queue
response = sqs.create_queue(
    QueueName="MyQueue",
    Attributes={
        'DelaySeconds': '60',
        'MessageRetentionPeriod': '86400'
    }
)

print(response('QueueUrl'))

위의 코드는 boto3 라이브러리를 사용하여 Python에서 Amazon SQS 대기열을 생성합니다.

create_queue -대기열 이름 및 속성을 정의하는 방법입니다.

생성된 대기열의 URL은 다음과 같습니다.

응답(‘QueueUrl’)에서 찾을 수 있습니다

26. AWS SDK를 사용하여 Amazon SQS 대기열 확인

Python을 사용하여 Amazon SQS 대기열을 검사하는 샘플 코드입니다.

import boto3

# Create SQS client
sqs = boto3.client('sqs')

# List SQS queues
response = sqs.list_queues()

# Print out the queues
print('Queues:')
for url in response('QueueUrls'):
    print(url)

코드는 위에 있습니다 list_queues 계정과 연결된 모든 Amazon SQS 대기열의 URL 목록을 반환하는 메서드. 반환된 URL은 응답(‘QueueUrls’)에서 찾을 수 있습니다

27. AWS SDK를 사용하여 Amazon SQS 메시지 보내기

Python을 사용하여 Amazon SQS 대기열에 메시지를 보내는 샘플 코드.

import boto3

# Create SQS client
sqs = boto3.client('sqs')

# Send message to SQS queue
response = sqs.send_message(
    QueueUrl="https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
    MessageBody='Hello world!
' ) print(response('MessageId'))

코드는 위에 있습니다 문자 보내 메서드를 사용하여 Amazon SQS 대기열에 메시지를 보냅니다.

QueueUrl 매개변수의 대기열 URL, 메시지 텍스트 매개변수에 보낼 메시지를 입력합니다.

보낸 메시지의 ID는 응답(‘MessageId’)에서 찾을 수 있습니다

28. AWS SDK를 사용하여 Amazon SQS 메시지 수신

Python을 사용하여 Amazon SQS 대기열에서 메시지를 수신하기 위한 샘플 코드.

import boto3

# Create SQS client
sqs = boto3.client('sqs')

# Receive message from SQS queue
response = sqs.receive_message(
    QueueUrl="https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
    MaxNumberOfMessages=1,
    VisibilityTimeout=30,
    WaitTimeSeconds=20
)

message = response('Messages')(0)
receipt_handle = message('ReceiptHandle')

print(f"Received message: {message('Body')}")

# Delete the message from the queue
sqs.delete_message(
    QueueUrl="https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
    ReceiptHandle=receipt_handle
)

코드는 위에 있습니다 메시지를 받다 방법을 사용하여 Amazon SQS 대기열에서 메시지를 수신합니다.

QueueUrl 매개변수의 대기열 URL, 최대 메시지 수 파라미터에서 동시에 수신할 메시지 수, 가시성 시간 초과 메시지 가시성 제한 시간을 매개변수로 설정합니다.

WaitTimeSeconds 매개변수에 메시지 수신을 위한 최대 대기 시간을 입력합니다.

반환된 메시지 목록의 첫 번째 메시지 내용은 다음과 같습니다.

메시지 텍스트’)에서 찾을 수 있습니다 손잡이를 받다메시지를 삭제할 때 사용합니다.

메시지를 삭제하려면 메시지 삭제 메서드를 사용하고 QueueUrl 매개변수에 대기열 URL을 입력합니다.

손잡이를 받다 삭제할 메시지의 매개변수입니다.

손잡이를 받다 값을 입력합니다.

지금까지 Amazon SQS 대기열을 만들고 보는 방법과 AWS CLI 및 AWS SDK를 사용하여 메시지를 보내고 받는 방법을 배웠습니다.

Amazon SQS는 분산 시스템에서 메시지 전송 및 처리를 간소화합니다.