タイトル : SQSをCLIで少し試す localstackを試そう 2024
更新日 : 2025-03-23
カテゴリ : プログラミング
SQSをCLIで少し試す
SQS(Simple Queue Service)をCLIで試しましょう。
-
参考URL
-
作成
$ aws sqs create-queue --queue-name SQS-QUEUE-TEST
{
"QueueUrl": "http://sqs.ap-northeast-1.localhost.localstack.cloud:4566/000000000000/SQS-QUEUE-TEST"
}
$
属性確認
11個メッセージを入れた状態
aws sqs get-queue-attributes --queue-url SQS-QUEUE-TEST --attribute-names All
{
"Attributes": {
"ApproximateNumberOfMessages": "11", 何も入ってない時は 0
"ApproximateNumberOfMessagesNotVisible": "0",
"ApproximateNumberOfMessagesDelayed": "0",
"CreatedTimestamp": "1742685237",
"DelaySeconds": "0",
"LastModifiedTimestamp": "1742685237",
"MaximumMessageSize": "262144",
"MessageRetentionPeriod": "345600",
"QueueArn": "arn:aws:sqs:ap-northeast-1:000000000000:SQS-QUEUE-TEST",
"ReceiveMessageWaitTimeSeconds": "0",
"VisibilityTimeout": "30",
"SqsManagedSseEnabled": "true"
}
}
(aws2024) prost@kiss24:~/work/AWS/LocalS
ここでのApproximateNumberOfMessagesって設定値じゃないんだ。
- カウント
$ aws sqs get-queue-attributes --queue-url SQS-QUEUE-TEST --attribute-names ApproximateNumberOfMessages --query 'Attributes.ApproximateNumberOfMessages' --output text
11
$
- 一覧
$ aws sqs list-queues
{
"QueueUrls": [
"http://sqs.ap-northeast-1.localhost.localstack.cloud:4566/000000000000/SQS-QUEUE-TEST"
]
}
$
指定した文字列で始まる名前で
$ aws sqs list-queues --queue-name-prefix SQS
{
"QueueUrls": [
"http://sqs.ap-northeast-1.localhost.localstack.cloud:4566/000000000000/SQS-QUEUE-TEST"
]
}
$
- 送信
$ aws sqs send-message --queue-url SQS-QUEUE-TEST --message-body "Msg1"
{
"MD5OfMessageBody": "c05a574aef42a164971e66a827778496",
"MessageId": "3ec28723-f8f1-4ec1-a833-ca540662e92e"
}
$
- 受信
$ aws sqs receive-message --queue-url SQS-QUEUE-TEST
{
"Messages": [
{
"MessageId": "b7eb82d0-8a9d-4050-b951-e37bd685b671",
"ReceiptHandle": "Y2Y3MTJkYjgtOTRhYy00ODZhLTliNzgtYWY1MTNlNDc2ODFmIGFybjphd3M6c3FzOmFwLW5vcnRoZWFzdC0xOjAwMDAwMDAwMDAwMDpTUVMtUVVFVUUtVEVTVCBiN2ViODJkMC04YTlkLTQwNTAtYjk1MS1lMzdiZDY4NWI2NzEgMTc0MjY4NTkxMi40MDM0NDY=",
"MD5OfBody": "c05a574aef42a164971e66a827778496",
"Body": "Msg1"
}
]
}
$
取得個数指定、属性も取得
$ aws sqs receive-message --queue-url SQS-QUEUE-TEST --attribute-names All --message-attribute-names All --max-number-of-messages 3
{
"Messages": [
{
"MessageId": "a4baa647-46a6-47ce-8c22-7e07fda40069",
"ReceiptHandle": "YjFjODgwMDQtZjU4Yi00MTAxLWFkNDEtOWY1ODg1ZTk3YjY0IGFybjphd3M6c3FzOmFwLW5vcnRoZWFzdC0xOjAwMDAwMDAwMDAwMDpTUVMtUVVFVUUtVEVTVCBhNGJhYTY0Ny00NmE2LTQ3Y2UtOGMyMi03ZTA3ZmRhNDAwNjkgMTc0MjY4OTUwMi41ODU1NzE=",
"MD5OfBody": "c05a574aef42a164971e66a827778496",
"Body": "Msg1",
"Attributes": {
"SenderId": "000000000000",
"SentTimestamp": "1742688478884",
"ApproximateReceiveCount": "2",
"ApproximateFirstReceiveTimestamp": "1742689352944"
}
},
{
"MessageId": "ede17b6f-f43c-4389-b409-f37d1cd8729b",
"ReceiptHandle": "N2RkNzk1MTAtNWVmNi00OWVkLTkxNGItMDBhZjFjODIxNjBkIGFybjphd3M6c3FzOmFwLW5vcnRoZWFzdC0xOjAwMDAwMDAwMDAwMDpTUVMtUVVFVUUtVEVTVCBlZGUxN2I2Zi1mNDNjLTQzODktYjQwOS1mMzdkMWNkODcyOWIgMTc0MjY4OTUwMi41ODU1Nzky",
"MD5OfBody": "c05a574aef42a164971e66a827778496",
"Body": "Msg1",
"Attributes": {
"SenderId": "000000000000",
"SentTimestamp": "1742688500425",
"ApproximateReceiveCount": "1",
"ApproximateFirstReceiveTimestamp": "1742689502585"
}
},
{
"MessageId": "9446133a-2c4a-4a62-a123-6a1f6e3e16ba",
"ReceiptHandle": "MTg3OGM3ZTUtNDFlMi00NjIzLWE3NGMtNTc1NzE0NzZlYTlkIGFybjphd3M6c3FzOmFwLW5vcnRoZWFzdC0xOjAwMDAwMDAwMDAwMDpTUVMtUVVFVUUtVEVTVCA5NDQ2MTMzYS0yYzRhLTRhNjItYTEyMy02YTFmNmUzZTE2YmEgMTc0MjY4OTUwMi41ODU1ODI3",
"MD5OfBody": "c05a574aef42a164971e66a827778496",
"Body": "Msg1",
"Attributes": {
"SenderId": "000000000000",
"SentTimestamp": "1742688503452",
"ApproximateReceiveCount": "1",
"ApproximateFirstReceiveTimestamp": "1742689502585"
}
}
]
}
$
- 削除
ReceiptHandle指定です
$ aws sqs delete-message --queue-url SQS-QUEUE-TEST --receipt-handle ${SQS_MESSAGE_RECEIPT_HANDLE}
$