Class: AWS::SQS

Inherits:
Object
  • Object
show all
Includes:
Core::ServiceInterface
Defined in:
lib/aws/sqs.rb,
lib/aws/sqs/queue.rb,
lib/aws/sqs/client.rb,
lib/aws/sqs/errors.rb,
lib/aws/sqs/policy.rb,
lib/aws/sqs/request.rb,
lib/aws/sqs/queue_collection.rb,
lib/aws/sqs/received_message.rb,
lib/aws/sqs/received_sns_message.rb

Overview

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 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.

Defined Under Namespace

Modules: Errors Classes: Client, Policy, Queue, QueueCollection, ReceivedMessage, ReceivedSNSMessage

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::ServiceInterface

#initialize, #inspect

Instance Attribute Details

#clientClient (readonly)

Returns the low-level SQS client object.

Returns:

  • (Client)

    the low-level SQS client object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/aws/sqs.rb', line 58

class SQS

  AWS.register_autoloads(self) do
    autoload :Client,             'client'
    autoload :Errors,             'errors'
    autoload :Queue,              'queue'
    autoload :QueueCollection,    'queue_collection'
    autoload :Policy,             'policy'
    autoload :ReceivedMessage,    'received_message'
    autoload :ReceivedSNSMessage, 'received_sns_message'
    autoload :Request,            'request'
  end

  include Core::ServiceInterface

  # @return [QueueCollection] The collection of all {Queue}
  #   objects in your account.
  def queues
    QueueCollection.new(:config => config)
  end

end

Instance Method Details

#queuesQueueCollection

Returns The collection of all Queue objects in your account.

Returns:



75
76
77
# File 'lib/aws/sqs.rb', line 75

def queues
  QueueCollection.new(:config => config)
end