1

有人可以帮助举个例子,如何使用 ruby​​ 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)

任何的想法?非常欢迎任何帮助:)谢谢

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 回答