こんにちは! 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)何も表示されなければ成功です!
いかがでしたでしょうか?
次回もお楽しみに!!!