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.

An Amazon SQS message.

Inheritance Hierarchy


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


public class Message

The Message type exposes the following members


Public Method Message()

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


Public Property Attributes System.Collections.Generic.Dictionary<System.String, System.String>

Gets and sets the property Attributes.

A map of the attributes requested in ReceiveMessage to their respective values. Supported attributes:

  • ApproximateReceiveCount

  • ApproximateFirstReceiveTimestamp

  • MessageDeduplicationId

  • MessageGroupId

  • SenderId

  • SentTimestamp

  • SequenceNumber

ApproximateFirstReceiveTimestamp and SentTimestamp are each returned as an integer representing the epoch time in milliseconds.

Public Property Body System.String

Gets and sets the property Body.

The message's contents (not URL-encoded).

Public Property MD5OfBody System.String

Gets and sets the property MD5OfBody.

An MD5 digest of the non-URL-encoded message body string.

Public Property MD5OfMessageAttributes System.String

Gets and sets the property MD5OfMessageAttributes.

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

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 Amazon SQS message attributes in the Amazon SQS Developer Guide.

Public Property MessageId System.String

Gets and sets the property MessageId.

A unique identifier for the message. A MessageIdis considered unique across all Amazon Web Services accounts for an extended period of time.

Public Property ReceiptHandle System.String

Gets and sets the property ReceiptHandle.

An identifier associated with the act of receiving the message. A new receipt handle is returned every time you receive a message. When deleting a message, you provide the last received receipt handle to delete the message.


This example shows how to receive a message.

Receive message example

var client = new AmazonSQSClient();

var request = new ReceiveMessageRequest
  AttributeNames = new List<string>() { "All" },
  MaxNumberOfMessages = 5,
  QueueUrl = "",
  VisibilityTimeout = (int)TimeSpan.FromMinutes(10).TotalSeconds,
  WaitTimeSeconds = (int)TimeSpan.FromSeconds(5).TotalSeconds

var response = client.ReceiveMessage(request);

if (response.Messages.Count > 0)
  foreach (var message in response.Messages)
    Console.WriteLine("For message ID '" + message.MessageId + "':");
    Console.WriteLine("  Body: " + message.Body);
    Console.WriteLine("  Receipt handle: " + message.ReceiptHandle);
    Console.WriteLine("  MD5 of body: " + message.MD5OfBody);
    Console.WriteLine("  MD5 of message attributes: " +
    Console.WriteLine("  Attributes:");

    foreach (var attr in message.Attributes)
      Console.WriteLine("    " + attr.Key + ": " + attr.Value);
  Console.WriteLine("No messages received.");

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