こんにちは! 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 2 3 |
#!/usr/bin/ruby require 'rubygems' require 'aws-sdk' |
1 2 3 |
sqs = AWS::SQS.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY') |
1 |
queue = sqs.queues.create("TestQueue") |
作成できたか一覧を取得してみます。
1 2 3 |
#!/usr/bin/ruby require 'rubygems' require 'aws-sdk' |
1 2 3 |
sqs = AWS::SQS.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY') |
1 |
puts sqs.queues.map(&:url) |
3. メッセージ送信
作成したキューにメッセージを送信してみます。
1 2 3 |
#!/usr/bin/ruby require 'rubygems' require 'aws-sdk' |
1 2 3 |
sqs = AWS::SQS.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY') |
1 2 |
url = "https://sqs.ap-northeast-1.amazonaws.com/[AWS_Account_ID]/TestQueue" sqs.queues[url].send_message("Test Message.") |
4. メッセージ受信
送信したメッセージを受信してみます。
1 2 3 |
#!/usr/bin/ruby require 'rubygems' require 'aws-sdk' |
1 2 3 |
sqs = AWS::SQS.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY') |
1 2 |
url = "https://sqs.ap-northeast-1.amazonaws.com/323791021698/TestQueue" queue = sqs.queues[url] |
1 2 3 |
queue.poll do |msg| puts msg.body end |
※pollメソッドでは取得したタイミングでdeleteされてしまうようです。
5. キュー削除
最後にキューを削除してみます。
1 2 3 |
#!/usr/bin/ruby require 'rubygems' require 'aws-sdk' |
1 2 3 |
sqs = AWS::SQS.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY') |
1 2 |
url = "https://sqs.ap-northeast-1.amazonaws.com/323791021698/TestQueue" queue = sqs.queues[url] |
1 2 3 |
queue.delete sleep(60) puts sqs.queues.collect(&:url) |
何も表示されなければ成功です!
いかがでしたでしょうか?
次回もお楽しみに!!!