有人可以帮助我们使用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)
任何想法?任何帮助都非常欢迎:) 感谢
答案 0 :(得分:1)
将messages数组参数传递给batch_change_message_visibility方法时,必须使用splat运算符。
如文档here所示,您应该编写(注意在messages参数之前的*):
messages = []
messages << { :message => 'handle1', :visibility_timeout => 5 }
messages << { :message => 'handle2', :visibility_timeout => 10 }
queue.batch_change_visibility(*messages)