SQS編~Simple Queue Serviceパート④~

こんにちは! JQです。

前回は『 SQS編~Simple Queue Service パート③~ 』と題して、AWS SDK for Python(Boto)でSQSを試してみました。

今回は『SQS編~Simple Queue Service パート④~』と題して、AWS SDK for RubyでSQSを試してみたいと思います。

AWS SDK for Ruby設定

1. AWS SDK for Rubyの設定

AWS SDK for Rubyの設定を行っておきます。

※詳細は以前の記事をご参照ください。

■AWS SDK Rubyを使ってみよう!

2. キューの作成

先ずはキューを作成してみます。

1#!/usr/bin/ruby2require 'rubygems'3require 'aws-sdk'
1sqs = AWS::SQS.new(2  :access_key_id => 'YOUR_ACCESS_KEY_ID',3  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
1queue = sqs.queues.create("TestQueue")

作成できたか一覧を取得してみます。

1#!/usr/bin/ruby2require 'rubygems'3require 'aws-sdk'
1sqs = AWS::SQS.new(2  :access_key_id => 'YOUR_ACCESS_KEY_ID',3  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
1puts sqs.queues.map(&:url)

3. メッセージ送信

作成したキューにメッセージを送信してみます。

1#!/usr/bin/ruby2require 'rubygems'3require 'aws-sdk'
1sqs = AWS::SQS.new(2  :access_key_id => 'YOUR_ACCESS_KEY_ID',3  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
1url = "https://sqs.ap-northeast-1.amazonaws.com/[AWS_Account_ID]/TestQueue"2sqs.queues[url].send_message("Test Message.")

4. メッセージ受信

送信したメッセージを受信してみます。

1#!/usr/bin/ruby2require 'rubygems'3require 'aws-sdk'
1sqs = AWS::SQS.new(2  :access_key_id => 'YOUR_ACCESS_KEY_ID',3  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
1url = "https://sqs.ap-northeast-1.amazonaws.com/323791021698/TestQueue"2queue = sqs.queues[url]
1queue.poll do |msg|2    puts msg.body3end

※pollメソッドでは取得したタイミングでdeleteされてしまうようです。

5. キュー削除

最後にキューを削除してみます。

1#!/usr/bin/ruby2require 'rubygems'3require 'aws-sdk'
1sqs = AWS::SQS.new(2  :access_key_id => 'YOUR_ACCESS_KEY_ID',3  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
1url = "https://sqs.ap-northeast-1.amazonaws.com/323791021698/TestQueue"2queue = sqs.queues[url]
1queue.delete2sleep(60)3puts sqs.queues.collect(&:url)

何も表示されなければ成功です!

いかがでしたでしょうか?

次回もお楽しみに!!!

この記事を書いた人

aws-recipe-user