AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
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.
param.n
notation. Values of n
are integers starting
from 1. For example, a parameter list with two elements looks like this: &Attribute.1=this
&Attribute.2=that
Namespace: Amazon.SQS
Assembly: AWSSDK.dll
Version: (assembly version)
public abstract DeleteMessageBatchResponse DeleteMessageBatch( DeleteMessageBatchRequest request )
Container for the necessary parameters to execute the DeleteMessageBatch service method.
Exception | Condition |
---|---|
BatchEntryIdsNotDistinctException | Two or more batch entries have the same Id in the request. |
EmptyBatchRequestException | Batch request does not contain an entry. |
InvalidBatchEntryIdException | The Id of a batch entry in a batch request does not abide by the specification. |
TooManyEntriesInBatchRequestException | Batch request contains more number of entries than permissible. |
This example shows how to delete messages in batch.
var client = new AmazonSQSClient(); var request = new ReceiveMessageRequest { AttributeNames = new List<string>() { "All" }, MaxNumberOfMessages = 5, QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue", VisibilityTimeout = (int)TimeSpan.FromMinutes(10).TotalSeconds, WaitTimeSeconds = (int)TimeSpan.FromSeconds(5).TotalSeconds }; var response = client.ReceiveMessage(request); var batchEntries = new List<DeleteMessageBatchRequestEntry>(); if (response.Messages.Count > 0) { foreach (var message in response.Messages) { var batchEntry = new DeleteMessageBatchRequestEntry { Id = message.MessageId, ReceiptHandle = message.ReceiptHandle }; batchEntries.Add(batchEntry); } var delRequest = new DeleteMessageBatchRequest { Entries = batchEntries, QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue" }; var delResponse = client.DeleteMessageBatch(delRequest); if (delResponse.Failed.Count > 0) { Console.WriteLine("Failed deletions:"); foreach (var failure in delResponse.Failed) { Console.WriteLine(" For ID '" + failure.Id + "': "); Console.WriteLine(" Code = " + failure.Code); Console.WriteLine(" Message = " + failure.Message); Console.WriteLine(" Sender's fault? = " + failure.SenderFault); } } if (delResponse.Successful.Count > 0) { Console.WriteLine("Successful deletions:"); foreach (var success in delResponse.Successful) { Console.WriteLine(" ID '" + success.Id + "'"); } } } else { Console.WriteLine("No messages to delete."); }
.NET Framework:
Supported in: 4.5, 4.0, 3.5