Edited at

【AWS】AWS SDK for Ruby V2でSQSを感じてみる

More than 3 years have passed since last update.

どうも、千葉です。

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
}