Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ruby aws sdk[ruby newbie]更改SQS消息的可见性超时_Ruby_Amazon Web Services_Amazon Sqs - Fatal编程技术网

使用ruby aws sdk[ruby newbie]更改SQS消息的可见性超时

使用ruby aws sdk[ruby newbie]更改SQS消息的可见性超时,ruby,amazon-web-services,amazon-sqs,Ruby,Amazon Web Services,Amazon Sqs,有人能举一个例子来帮助我们如何使用ruby aws sdk更改sqs消息的可见性超时吗 下面是我使用方法batch\u change\u message\u visibility进行测试时使用的代码,但我得到错误“undefined method‘batch\u change\u message\u visibility’” 需要“rubygems” 需要“aws sdk” sqs=AWS::sqs.new( :access\u key\u id=>access\u key, :secret\u

有人能举一个例子来帮助我们如何使用ruby aws sdk更改sqs消息的可见性超时吗

下面是我使用方法batch\u change\u message\u visibility进行测试时使用的代码,但我得到错误“undefined method‘batch\u change\u message\u visibility’”

需要“rubygems”
需要“aws sdk”
sqs=AWS::sqs.new(
:access\u key\u id=>access\u key,
:secret\u access\u key=>access\u secret)
queue=sqs.queues.named(队列名称)
消息=[]
消息消息句柄:可见性超时=>5}
队列.批处理\u更改\u消息\u可见性(消息)
有什么想法吗?欢迎任何帮助:)
谢谢

将messages数组参数传递给batch_change_message_visibility方法时,必须使用splat运算符

如文档所示,您应该写(注意messages参数前面的*):

消息=[]
消息“handle1”,:可见性\超时=>5}
消息'handle2',:可见性\超时=>10}
队列。批处理更改可见性(*消息)

将messages数组参数传递给batch\u change\u message\u visibility方法时,必须使用splat运算符

如文档所示,您应该写(注意messages参数前面的*):

消息=[]
消息“handle1”,:可见性\超时=>5}
消息'handle2',:可见性\超时=>10}
队列。批处理更改可见性(*消息)
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)
messages = []
messages << { :message => 'handle1', :visibility_timeout => 5 }
messages << { :message => 'handle2', :visibility_timeout => 10 }

queue.batch_change_visibility(*messages)