AWS SDK Version 2 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.

.NET Framework 4.5
 
Contains the details of a single Amazon SQS message along with a Id.

Inheritance Hierarchy

System.Object
  Amazon.SQS.Model.SendMessageBatchRequestEntry

Namespace: Amazon.SQS.Model
Assembly: AWSSDK.dll
Version: (assembly version)

Syntax

C#
public class SendMessageBatchRequestEntry : Object

The SendMessageBatchRequestEntry type exposes the following members

Constructors

NameDescription
Public Method SendMessageBatchRequestEntry() Empty constructor used to set properties independently even when a simple constructor is available
Public Method SendMessageBatchRequestEntry(string, string) Instantiates SendMessageBatchRequestEntry with the parameterized properties

Properties

NameTypeDescription
Public Property DelaySeconds System.Int32 Gets and sets the property DelaySeconds.

The number of seconds for which the message has to be delayed.

Public Property Id System.String Gets and sets the property Id.

An identifier for the message in this batch. This is used to communicate the result. Note that the Ids of a batch request need to be unique within the request.

Public Property MessageAttributes System.Collections.Generic.Dictionary<System.String, Amazon.SQS.Model.MessageAttributeValue> Gets and sets the property MessageAttributes.

Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items.

Public Property MessageBody System.String Gets and sets the property MessageBody.

Body of the message.

Examples

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 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