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