2012-07-25 26 views
1

可能有人用一個例子幫助如何更改可見性超時使用紅寶石AWS-SDK的SQS消息?更改可見性超時[紅寶石新手]

這裏是我使用使用方法batch_change_message_visibility我的測試代碼,但我得到的錯誤「未定義的方法‘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) 

任何想法?任何幫助將非常歡迎:) 謝謝

回答

1

您必須在將消息數組參數傳遞給batch_change_message_visibility方法時使用splat運算符。

如文檔here所示,你應該寫(注意消息參數之前,*):

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

queue.batch_change_visibility(*messages)