どうも、千葉です。
AWS SDK for Ruby v2で、SQSのキューを感じて、メッセージを出力するコードをメモしておきます。
V1から、かなり変わってるので注意が必要ですね。
アクセスキーの設定は、別途設定必要です。
sqs_receive.rb
#!/usr/bin/ruby
require 'aws-sdk'
require 'json'
# キューの設定
queue_url = "https://sqs.ap-northeast-1.amazonaws.com/XXXXX/XXXXX"
sqs = Aws::SQS::Client.new(region: 'ap-northeast-1')
loop {
# メッセージの取得
msg = sqs.receive_message({
queue_url: queue_url
})
unless msg.messages[0].nil?
# メッセージの表示
result = JSON.parse(msg.messages[0].body)
puts result["Message"]
# メッセージ削除
resp = sqs.delete_message({
queue_url: queue_url, # required
receipt_handle: msg.messages[0].receipt_handle # required
})
end
msg = nil
sleep 10
}