class AWS::SQS

Provides an expressive, object-oriented interface to Amazon SQS.

Credentials

You can setup default credentials for all AWS services via AWS.config:

AWS.config(
  :access_key_id => 'YOUR_ACCESS_KEY_ID',
  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')

Or you can set them directly on the SQS interface:

sqs = AWS::SQS.new(
  :access_key_id => 'YOUR_ACCESS_KEY_ID',
  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')

Queues and Messages

Amazon SQS is a distributed queue system that enables web service applications to quickly and reliably queue messages that one component in the application generates to be consumed by another component. A queue is a temporary repository for messages that are awaiting processing.

You can access your queues using the {queues} collection. For example, to create a queue, use {AWS::SQS::QueueCollection#create}:

queue = sqs.queues.create("myqueue")

Or to find out what queues you have in your account:

pp sqs.queues.collect(&:url)

See the {Queue} class for more information on how to send and receive messages.

Public Instance Methods

do_poll(*args) click to toggle source
# File spec/aws/sqs/queue_spec.rb, line 363
def do_poll(*args)
  catch (:done) do
    queue.poll(*args) do |msg|
      throw :done if response_lists.empty?
    end
  end
end
queues() click to toggle source

@return [QueueCollection] The collection of all {Queue}

objects in your account.
# File lib/aws/sqs.rb, line 73
def queues
  QueueCollection.new(:config => config)
end
receive_one(*args) click to toggle source
# File spec/aws/sqs/queue_spec.rb, line 274
def receive_one(*args)
  catch(:got_msg) do
    queue.poll(*args) { |msg| throw :got_msg }
  end
end
stub_two_members(resp) click to toggle source
# File spec/aws/sqs/queue_collection_spec.rb, line 37
def stub_two_members(resp)
  resp.stub(:queue_urls).and_return(["one", "two"])
end