AWS SDK Version 3 for .NET
API Reference

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.

Encloses a receipt handle and an identifier for it.

Inheritance Hierarchy

System.Object
  Amazon.SQS.Model.DeleteMessageBatchRequestEntry

Namespace: Amazon.SQS.Model
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z

Syntax

C#
public class DeleteMessageBatchRequestEntry

The DeleteMessageBatchRequestEntry type exposes the following members

Constructors

NameDescription
Public Method DeleteMessageBatchRequestEntry()

Empty constructor used to set properties independently even when a simple constructor is available

Public Method DeleteMessageBatchRequestEntry(string, string)

Instantiates DeleteMessageBatchRequestEntry with the parameterized properties

Properties

NameTypeDescription
Public Property Id System.String

Gets and sets the property Id.

The identifier for this particular receipt handle. This is used to communicate the result.

The Ids of a batch request need to be unique within a request.

This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

Public Property ReceiptHandle System.String

Gets and sets the property ReceiptHandle.

A receipt handle.

Examples

This example shows how to delete messages in batch.

Batch delete messages example

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.");
}
      

Version Information

.NET Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5, 4.0, 3.5