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.

Gives a detailed description of the result of an action on each entry in the request.

Inheritance Hierarchy

System.Object
  Amazon.SQS.Model.BatchResultErrorEntry

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

Syntax

C#
public class BatchResultErrorEntry

The BatchResultErrorEntry type exposes the following members

Constructors

NameDescription
Public Method BatchResultErrorEntry()

Properties

NameTypeDescription
Public Property Code System.String

Gets and sets the property Code.

An error code representing why the action failed on this entry.

Public Property Id System.String

Gets and sets the property Id.

The Id of an entry in a batch request.

Public Property Message System.String

Gets and sets the property Message.

A message explaining why the action failed on this entry.

Public Property SenderFault System.Boolean

Gets and sets the property SenderFault.

Specifies whether the error happened due to the caller of the batch API action.

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

This example shows how to send messages in batch.

Batch send messages example

var client = new AmazonSQSClient();

var entry1 = new SendMessageBatchRequestEntry
{
  DelaySeconds = 0,
  Id = "Entry1",
  MessageAttributes = new Dictionary<string, MessageAttributeValue>
  {
    {
      "MyNameAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "John Doe" }
    },
    {
      "MyAddressAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "123 Main St." }
    },
    {
      "MyRegionAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "Any Town, United States" }
    }
  },
  MessageBody = "John Doe customer information."
};

var entry2 = new SendMessageBatchRequestEntry
{
  DelaySeconds = 0,
  Id = "Entry2",
  MessageAttributes = new Dictionary<string, MessageAttributeValue>
  {
    {
      "MyNameAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "Jane Doe" }
    },
    {
      "MyAddressAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "456 Center Road" }
    },
    {
      "MyRegionAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "Any City, United States" }
    }
  },
  MessageBody = "Jane Doe customer information."
};

var entry3 = new SendMessageBatchRequestEntry
{
  DelaySeconds = 0,
  Id = "Entry3",
  MessageAttributes = new Dictionary<string, MessageAttributeValue>
  {
    {
      "MyNameAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "Richard Doe" }
    },
    {
      "MyAddressAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "789 East Blvd." }
    },
    {
      "MyRegionAttribute", new MessageAttributeValue 
        { DataType = "String", StringValue = "Anywhere, United States" }
    }
  },
  MessageBody = "Richard Doe customer information."
};

var request = new SendMessageBatchRequest
{
  Entries = new List<SendMessageBatchRequestEntry>() { entry1, entry2, entry3 },
  QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue"
};

var response = client.SendMessageBatch(request);

if (response.Successful.Count > 0)
{
  Console.WriteLine("Successfully sent:");

  foreach (var success in response.Successful)
  {
    Console.WriteLine("  For ID: '" + success.Id + "':");
    Console.WriteLine("    Message ID = " + success.MessageId);
    Console.WriteLine("    MD5 of message attributes = " +
      success.MD5OfMessageAttributes);
    Console.WriteLine("    MD5 of message body = " +
      success.MD5OfMessageBody);
  }
}

if (response.Failed.Count > 0)
{
  Console.WriteLine("Failed to be sent:");

  foreach (var fail in response.Failed)
  {
    Console.WriteLine("  For ID '" + fail.Id + "':");
    Console.WriteLine("    Code = " + fail.Code);
    Console.WriteLine("    Message = " + fail.Message);
    Console.WriteLine("    Sender's fault? = " +
      fail.SenderFault);
  }
}
      

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