Safe Haskell | None |
---|---|
Language | Haskell2010 |
Retrieves one or more messages, with a maximum limit of 10 messages, from
the specified queue. Long poll support is enabled by using the WaitTimeSeconds
parameter. For more information, see Amazon SQS Long Poll in the Amazon SQSDeveloper Guide.
Short poll is the default behavior where a weighted random set of machines
is sampled on a ReceiveMessage
call. This means only the messages on the
sampled machines are returned. If the number of messages in the queue is
small (less than 1000), it is likely you will get fewer messages than you
requested per ReceiveMessage
call. If the number of messages in the queue is
extremely small, you might not receive any messages in a particular ReceiveMessage
response; in which case you should repeat the request.
For each message returned, the response includes the following:
Message body
MD5 digest of the message body. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.
Message ID you received when you sent the message to the queue.
Receipt handle.
Message attributes.
MD5 digest of the message attributes.
The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide.
You can provide the VisibilityTimeout
parameter in your request, which will
be applied to the messages that Amazon SQS returns in the response. If you do
not include the parameter, the overall visibility timeout for the queue is
used for the returned messages. For more information, see Visibility Timeout
in the Amazon SQS Developer Guide.
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html
- data ReceiveMessage
- receiveMessage :: Text -> ReceiveMessage
- rmAttributeNames :: Lens' ReceiveMessage [Text]
- rmMaxNumberOfMessages :: Lens' ReceiveMessage (Maybe Int)
- rmMessageAttributeNames :: Lens' ReceiveMessage [Text]
- rmQueueUrl :: Lens' ReceiveMessage Text
- rmVisibilityTimeout :: Lens' ReceiveMessage (Maybe Int)
- rmWaitTimeSeconds :: Lens' ReceiveMessage (Maybe Int)
- data ReceiveMessageResponse
- receiveMessageResponse :: ReceiveMessageResponse
- rmrMessages :: Lens' ReceiveMessageResponse [Message]
Request
data ReceiveMessage Source
Request constructor
ReceiveMessage
constructor.
The fields accessible through corresponding lenses are:
Request lenses
rmAttributeNames :: Lens' ReceiveMessage [Text] Source
A list of attributes that need to be returned along with each message.
The following lists the names and descriptions of the attributes that can be returned:
All
- returns all values. ApproximateFirstReceiveTimestamp
- returns the
time when the message was first received (epoch time in milliseconds). ApproximateReceiveCount
- returns the number of times a message has been received but not deleted. SenderId
- returns the AWS account number (or the IP address, if anonymous access is
allowed) of the sender. SentTimestamp
- returns the time when the message
was sent (epoch time in milliseconds).
rmMaxNumberOfMessages :: Lens' ReceiveMessage (Maybe Int) Source
The maximum number of messages to return. Amazon SQS never returns more messages than this value but may return fewer. Values can be from 1 to 10. Default is 1.
All of the messages are not necessarily returned.
rmMessageAttributeNames :: Lens' ReceiveMessage [Text] Source
The message attribute Name can contain the following characters: A-Z, a-z, 0-9, underscore(_), hyphen(-), and period (.). The message attribute name must not start or end with a period, and it should not have successive periods. The message attribute name is case sensitive and must be unique among all attribute names for the message. The message attribute name can be up to 256 characters long. Attribute names cannot start with "AWS." or "Amazon." because these prefixes are reserved for use by Amazon Web Services.
rmQueueUrl :: Lens' ReceiveMessage Text Source
The URL of the Amazon SQS queue to take action on.
rmVisibilityTimeout :: Lens' ReceiveMessage (Maybe Int) Source
The duration (in seconds) that the received messages are hidden from
subsequent retrieve requests after being retrieved by a ReceiveMessage
request.
rmWaitTimeSeconds :: Lens' ReceiveMessage (Maybe Int) Source
The duration (in seconds) for which the call will wait for a message to arrive in the queue before returning. If a message is available, the call will return sooner than WaitTimeSeconds.
Response
Response constructor
receiveMessageResponse :: ReceiveMessageResponse Source
ReceiveMessageResponse
constructor.
The fields accessible through corresponding lenses are:
rmrMessages
::
[Message
]
Response lenses
rmrMessages :: Lens' ReceiveMessageResponse [Message] Source
A list of messages.