1

ruby aws-sdk を使用して sqs メッセージの可視性タイムアウトを変更する方法の例を教えてください。

メソッド batch_change_message_visibility を使用してテストに使用したコードを次に示しますが、「undefined method 'batch_change_message_visibility'」というエラーが表示されます。

require 'rubygems'
require 'aws-sdk'

sqs = AWS::SQS.new(
    :access_key_id => access_key,
    :secret_access_key => access_secret)

queue = sqs.queues.named(queue_name)

messages = []
messages << { :message => message_handle, :visibility_timeout => 5 }
queue.batch_change_message_visibility(messages)

何か案が?どんな助けでも大歓迎です:)ありがとう

4

1 に答える 1

1

メッセージ配列パラメーターを batch_change_message_visibility メソッドに渡すときは、splat 演算子を使用する必要があります。

ここのドキュメントに示されているように、次のように記述します (メッセージ パラメータの前に * があることに注意してください)。

messages = []
messages << { :message => 'handle1', :visibility_timeout => 5 }
messages << { :message => 'handle2', :visibility_timeout => 10 }

queue.batch_change_visibility(*messages)
于 2012-10-17T13:11:12.237 に答える