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.Model
Assembly: AWSSDK.dll
Version: (assembly version)
public class DeleteMessageBatchRequest : AmazonSQSRequest IRequestEvents
The DeleteMessageBatchRequest type exposes the following members
| Name | Description | |
|---|---|---|
|
DeleteMessageBatchRequest() | Empty constructor used to set properties independently even when a simple constructor is available |
|
DeleteMessageBatchRequest(string, List<DeleteMessageBatchRequestEntry>) |
| Name | Type | Description | |
|---|---|---|---|
|
Entries | System.Collections.Generic.List<Amazon.SQS.Model.DeleteMessageBatchRequestEntry> |
Gets and sets the property Entries.
A list of receipt handles for the messages to be deleted. |
|
QueueUrl | System.String |
Gets and sets the property QueueUrl.
The URL of the Amazon SQS queue to take action on. |
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
.NET for Windows Store apps:
Supported in: Windows 8.1, Windows 8
.NET for Windows Phone:
Supported in: Windows Phone 8.1, Windows Phone 8