2017年6月29日木曜日

localstack で SQS を使ってみた

I tried using SQS with localstack.


前回の「localstack 動かしてみた」の続きです。
よく使うSQSを試してみます。

まず、awscli をインストールしておきます。
aws configure でキーなどを設定します。
awscliが有効なIAMのキーを設定しました。


早速、キューを作成します。
endpoint-url は localstackで指定されているものを指定します。
キュー名は、'test_queue' としました。
$ aws sqs create-queue --queue-name test_queue --endpoint-url http://localhost:4576
{
    "QueueUrl": "http://localhost:4576/123456789012/test_queue"
}
コマンドを実行すると、QueueUrl が返ってきました。


ダッシュボードでSQSキューが作成されていることが確認できますね。


メッセージを投入します。先程のQueueUrlを使用します。
$ 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"
}


メッセージを受信します。
$ 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"
      }
    }
  ]
}

受信できました!
MessagesのBody にちゃんと送信したメッセージが入っていますね。
また、MessageId も送信したときと同じです。


ちなみに、aws configure ですが、キーなどダミーでも動きました。これ重要です。

イイネ!

0 件のコメント:

コメントを投稿