AWS CLIを使ったSQSトリガーとの連携

Trigger Tips

Posted on Jul 31


こんにちは、Cloud Automator開発チームに所属する柳瀬です。
前回のブログでManagement Consoleを使ってSQSにメッセージを送り、Cloud Automatorと連携させる記事を書きました。
今回はもう少しプログラマブルに扱うために、Management ConsoleではなくAWSコマンドラインインターフェイスを使ってみたいと思います。
こちらのツールはリンクに記載されている通り、Windowsの場合はインストーラーを実行し、MacやLinuxの場合も簡単となっておりますので、インストール方法や設定方法は割愛させて頂きます。

ステップ1

まずは前回と同様にメッセージを送るSQSを作成します。
キューの作成にはcreate-queueコマンドを使用し、作成済みキューの確認はlist-queuesコマンドを使います。
もしいくつかの設定を変更したい場合は--attributesオプションを使用します。

作成前

$ aws sqs list-queues --region ap-northeast-1
{
    "QueueUrls": []
}

作成

$ aws sqs create-queue --queue-name cloudautomator-queue --region ap-northeast-1
{
    "QueueUrl": "https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue"
}

作成後

$ aws sqs list-queues --region ap-northeast-1
{
    "QueueUrls": [
        "https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue"
    ]
}

ステップ2

SQSのキューを作成したら早速メッセージを送ってみましょう。
メッセージを送る場合はsend-messageコマンドを使います。

$ aws sqs send-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue \
--message-body "test message" \
--region ap-northeast-1
{
    "MD5OfMessageBody": "c72b9698fa1927e1dd12d3cf26ed84b2",
    "MessageId": "eb24fe20-fb6c-494e-a2ae-6468e48c68a5"
}

ステップ3

Cloud Automatorの設定は以下のようにSQSトリガーと作成したキューを選択します。

補足

Cloud Automatorは受け取ったメッセージを自動的に削除しますが、AWS CLIでメッセージ受信、削除する方法は以下のようになります。

受信

$ aws sqs receive-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue --region ap-northeast-1
{
    "Messages": [
        {
            "Body": "test message",
            "ReceiptHandle": "cOJv9qrD==中略==gWWXM0JrSK9GR1RyvuF9iacgI3TxLZETlotJ2GZ+A==",
            "MD5OfBody": "c72b9698fa1927e1dd12d3cf26ed84b2",
            "MessageId": "eb24fe20-fb6c-494e-a2ae-6468e48c68a5"
        }
    ]
}

削除

$ aws sqs delete-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue \
--receipt-handle "cOJv9qrD==中略==gWWXM0JrSK9GR1RyvuF9iacgI3TxLZETlotJ2GZ+A==" \
--region ap-northeast-1

今回の記事は以上となります。
AWS CLIを使うと処理の自動化や他システムの連動もしやすくなってくると思いますので、是非ご活用下さい。



Search

Tags

By year

  1. 2017 (1)
  2. 2016 (30)
  3. 2015 (31)
  4. 2014 (42)