2012-07-25 6 views
1

을 사용하여 SQS 메시지의 가시성 시간 초과를 변경하면 루비 aws-sdk를 사용하여 sqs 메시지의 가시성 타임 아웃을 변경하는 방법을 보여줄 수 있습니까? 여기 ruby ​​aws-sdk [ruby newbie]

내가 방법 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) 

어떤 생각을? 모든 도움은 매우 환영 할 것입니다 :) Thanks

답변

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)