まず、awscli をインストールしておきます。
aws configure でキーなどを設定します。
awscliが有効なIAMのキーを設定しました。
早速、キューを作成します。
endpoint-url は localstackで指定されているものを指定します。
キュー名は、'test_queue' としました。
$ aws sqs create-queue --queue-name test_queue --endpoint-url http://localhost:4576endpoint-url は localstackで指定されているものを指定します。
キュー名は、'test_queue' としました。
{
"QueueUrl": "http://localhost:4576/123456789012/test_queue"
}
コマンドを実行すると、QueueUrl が返ってきました。
ダッシュボードでSQSキューが作成されていることが確認できますね。
ダッシュボードでSQSキューが作成されていることが確認できますね。
$ aws sqs send-message --queue-url http://localhost:4576/123456789012/test_queue --message-body "localstack SQS test message." --endpoint-url http://localhost:4576
{
"MD5OfMessageBody": "717aab0da1292d4fcfe079d9e65d9e21",
"MD5OfMessageAttributes": "d41d8cd98f00b204e9800998ecf8427e",
"MessageId": "51f95e5f-ecc9-a7a4-b96c-34f4bd96c696"
}
{
"MD5OfMessageBody": "717aab0da1292d4fcfe079d9e65d9e21",
"MD5OfMessageAttributes": "d41d8cd98f00b204e9800998ecf8427e",
"MessageId": "51f95e5f-ecc9-a7a4-b96c-34f4bd96c696"
}
メッセージを受信します。
$ aws sqs receive-message --queue-url http://localhost:4576/123456789012/test_queue --endpoint-url http://localhost:4576{
"Messages": [
{
"Body": "localstack SQS test message.",
"ReceiptHandle": "uxrkvdeiigmwuxhybxoooxkqdhukasjjkwrskpkfrdqwfdxhhswvjbzujubxtijlzltmvzomjnsnbziieetwcurrenkbhrgdonkysxechxbjjylgrhhtxcdmtznjlgbjwsbayuefgsuugdvdzdokjvdprrifdlbaykhrdxunwmehqakfsxogqsunj",
"MD5OfBody": "717aab0da1292d4fcfe079d9e65d9e21",
"MD5OfMessageAttributes": "d41d8cd98f00b204e9800998ecf8427e",
"MessageId": "51f95e5f-ecc9-a7a4-b96c-34f4bd96c696",
"Attributes": {
"ApproximateFirstReceiveTimestamp": "1.49866313563e+12",
"SenderId": "AIDAIT2UOQQY3AUEKVGXU",
"ApproximateReceiveCount": "1",
"SentTimestamp": "1.4986630244e+12"
}
}
]
}
受信できました!
また、MessageId も送信したときと同じです。
ちなみに、aws configure ですが、キーなどダミーでも動きました。これ重要です。
イイネ!
イイネ!