DeleteMessageBatch
Deletes up to ten messages from the specified queue. This is a batch version of
DeleteMessage.
The result of the action on each
message is reported individually in the response.
Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200
.
Some actions take lists of parameters. These lists are specified using the param.n
notation. Values of n
are integers starting from 1. For example, a parameter list with two elements looks like this:
&AttributeName.1=first
&AttributeName.2=second
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
- DeleteMessageBatchRequestEntry.N
-
A list of receipt handles for the messages to be deleted.
Type: Array of DeleteMessageBatchRequestEntry objects
Required: Yes
- QueueUrl
-
The URL of the Amazon SQS queue from which messages are deleted.
Queue URLs and names are case-sensitive.
Type: String
Required: Yes
Response Elements
The following elements are returned by the service.
- BatchResultErrorEntry.N
-
A list of
BatchResultErrorEntry
items.Type: Array of BatchResultErrorEntry objects
- DeleteMessageBatchResultEntry.N
-
A list of
DeleteMessageBatchResultEntry
items.Type: Array of DeleteMessageBatchResultEntry objects
Errors
For information about the errors that are common to all actions, see Common Errors.
- AWS.SimpleQueueService.BatchEntryIdsNotDistinct
-
Two or more batch entries in the request have the same
Id
.HTTP Status Code: 400
- AWS.SimpleQueueService.EmptyBatchRequest
-
The batch request doesn't contain any entries.
HTTP Status Code: 400
- AWS.SimpleQueueService.InvalidBatchEntryId
-
The
Id
of a batch entry in a batch request doesn't abide by the specification.HTTP Status Code: 400
- AWS.SimpleQueueService.TooManyEntriesInBatchRequest
-
The batch request contains more entries than permissible.
HTTP Status Code: 400
Examples
Example
In the following example, a DeleteMessageBatch
request deletes
two messages. You must URL-encode the entire URL. However, in this example only the message body is URL-encoded to make the example easier to read. The structure of AUTHPARAMS
depends on the signature of the API request.
For more information, see
Examples of Signed Signature Version 4 Requests in the
Amazon General Reference.
Sample Request
https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue/
&Action=DeleteMessageBatch
&DeleteMessageBatchRequestEntry.1.Id=msg1
&DeleteMessageBatchRequestEntry.1.ReceiptHandle=gfk0T0R0waama4fVFffkjPQrr
vzMrOg0fTFk2LxT33EuB8wR0ZCFgKWyXGWFoqqpCIiprQUEhir%2F5LeGPpYTLzjqLQxyQYaQ
ALeSNHb0us3uE84uujxpBhsDkZUQkjFFkNqBXn48xlMcVhTcI3YLH%2Bd%2BIqetIOHgBCZAP
x6r%2B09dWaBXei6nbK5Ygih21DCDdAwFV68Jo8DXhb3ErEfoDqx7vyvC5nCpdwqv%2BJhU%2
FTNGjNN8t51v5c%2FAXvQsAzyZVNapxUrHIt4NxRhKJ72uICcxruyE8eRXlxIVNgeNP8ZEDcw
7zZU1Zw%3D%3D
&DeleteMessageBatchRequestEntry.2.Id=msg2
&DeleteMessageBatchRequestEntry.2.ReceiptHandle=gfk0T0R0waama4fVFffkjKzmh
MCymjQvfTFk2LxT33G4ms5subrE0deLKWSscPU1oD3J9zgeS4PQQ3U30qOumIE6AdAv3w%2F%
2Fa1IXW6AqaWhGsEPaLm3Vf6IiWqdM8u5imB%2BNTwj3tQRzOWdTOePjOjPcTpRxBtXix%2BE
vwJOZUma9wabv%2BSw6ZHjwmNcVDx8dZXJhVp16Bksiox%2FGrUvrVTCJRTWTLc59oHLLF8sE
kKzRmGNzTDGTiV%2BYjHfQj60FD3rVaXmzTsoNxRhKJ72uIHVMGVQiAGgB%2BqAbSqfKHDQtV
OmJJgkHug%3D%3D
&Expires=2020-10-18T22%3A52%3A43PST
&Version=2012-11-05
&AUTHPARAMS
Sample Response
<DeleteMessageBatchResponse>
<DeleteMessageBatchResult>
<DeleteMessageBatchResultEntry>
<Id>msg1</Id>
</DeleteMessageBatchResultEntry>
<DeleteMessageBatchResultEntry>
<Id>msg2</Id>
</DeleteMessageBatchResultEntry>
</DeleteMessageBatchResult>
<ResponseMetadata>
<RequestId>d6f86b7a-74d1-4439-b43f-196a1e29cd85</RequestId>
</ResponseMetadata>
</DeleteMessageBatchResponse>
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: