The CreateQueue action creates a new queue, or returns the URL of an
existing one. When you request CreateQueue, you
provide a name for the queue. To successfully create a new queue, you
must provide a name that is unique within
the scope of your own queues. If you provide the name of an existing
queue, a new queue isn't created and an error isn't returned. Instead, the
request succeeds and the queue URL for the existing queue is returned.
A CreateQueue call may include attributes to set on a newly created
queue. The effect is the same as the CreateQueue call followed by a
SetQueueAttributes call (with the same attributes). However, when the
queue already exists CreateQueue will not update any attributes. It
simply compares the attribute values provided with the current
settings on the existing queue, and returns
the queue URL if the values match. Otherwise, it responds with an error
otherwise. SetQueueAttributes should be used to change the values of
attributes for an existing queue.
The GetQueueUrl action takes the name of a queue
and returns its URL.
The ListQueues action returns a list of your queues.
Adds the specified permission(s) to a queue for
the specified principal(s). This allows for sharing access to the
queue.
The ChangeMessageVisibility action resets the
visibility timeout for the specified receipt handle to the specified
value. The message identified by ReceiptHandle should become visible
approximately VisibilityTimeout seconds after successful completion of
this action, unless DeleteMessage or ChangeMessageVisibility is called first.
The DeleteMessage action unconditionally removes
the specified message from the specified queue. Even if the message is
locked by another reader due to the visibility timeout setting, it is
still deleted from the queue.
This action unconditionally deletes the queue
specified by the queue URL. Use
this operation WITH CARE! The queue is
deleted even if it is NOT empty.
Gets one or all attributes of a queue. Available
attributes are [ApproximateNumberOfMessages,
ApproximateNumberOfMessagesNotVisible, VisibilityTimeout,
CreatedTimestamp, LastModifiedTimestamp, Policy,
MaximumMessageSize, MessageRetentionPeriod, QueueArn, DelaySeconds,
ApproximateNumberOfMessagesDelayed, ReceiveMessageWaitTimeSeconds,
RedrivePolicy].
Removes the permission with the specified
statement id from the queue.
Retrieves one or more messages from the specified
queue, including the message
body, message ID, and message attributes
of each message. Messages returned by this action stay in the queue
until you delete them. However, once a message is
returned to a ReceiveMessage request, it is not returned on subsequent
ReceiveMessage requests for the duration of the VisibilityTimeout. If you do not specify a
VisibilityTimeout in the request, the overall
visibility timeout for the queue is used for the returned messages.
If a message is available in the queue, the call will return
immediately. Otherwise, it will wait up to WaitTimeSeconds for a
message to arrive. If you do not specify
WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds
is used to determine how long to wait.
You could ask for additional system information about the message
through through the attributes, which
are seperate from message attributes. Possible
attributes that can be requested with messages include [SenderId,
ApproximateFirstReceiveTimestamp, ApproximateReceiveCount,
SentTimestamp].
The SendMessage action adds a message with or without message
attributes to the specified queue. If DelaySeconds is
specified, the message won't be delivered
until the specified number
of seconds has elapsed. Otherwise, the
message may be delivered immediately.
Sets the value of one or more queue attributes.
Valid attributes that can be set are [VisibilityTimeout, Policy,
MaximumMessageSize, MessageRetentionPeriod, ReceiveMessageWaitTimeSeconds,
RedrivePolicy].
A batch version of ChangeMessageVisibility. Each
batch request contains one or more entries. Each entry is identified
by its Id (referred to as entry id) and represents a receipt handle for which the visibility
timeout has to be changed. For each entry in
the batch, the response will contain one of ChangeMessageVisibilityBatchResultEntry (success)
or BatchResultErrorEntry (failed) signifying the result.
The batch version of DeleteMessage. Each batch
request contains one or more entries. Each entry is identified by its
Id (referred to as entry id) and represents the receipt handle for a
message that has to be deleted. For each entry in the batch, the
response will contain one of DeleteMessageBatchResultEntry (success)
or BatchResultErrorEntry (failed) signifying the result.
A batch version of SendMessage. Each batch
request has one or more entries in it. Each entry is identified by
its Id (referred to as entry id) and represents a message with or
without message attributes to be enqueued. If DelaySeconds is not
specified for an entry, the default for the queue is used. For each
entry in the batch, the response will
contain one of SendMessageBatchResultEntry (success) or BatchResultErrorEntry
(failed) signifying the result.
Given a queue list the queues that are configured
to use that queue as a Dead Letter Queue.
Amazon Simple Queue Service (Amazon SQS) offers a
reliable, highly scalable
hosted queue for storing messages as they
travel between computers.
By using
Amazon SQS, developers can simply
move data between distributed application
components performing
different tasks, without losing messages or
requiring each
component to
be always available. Amazon SQS works by exposing Amazon's
web-scale
messaging infrastructure as a web service. Any computer on
the
Internet can add or read messages without any installed software or
special
firewall configurations. Components of applications using
Amazon SQS
can run
independently, and do not need to be on the same
network, developed with the
same technologies, or running at the same
time.