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 3.5
An Amazon SQS message.

Inheritance Hierarchy


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


public class Message : Object

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.

SenderId, SentTimestamp, ApproximateReceiveCount, and/or ApproximateFirstReceiveTimestamp. SentTimestamp and ApproximateFirstReceiveTimestamp 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. This can be used to verify that Amazon SQS received the message correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to

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 MessageId System.String Gets and sets the property MessageId.

A unique identifier for the message. Message IDs are considered unique across all AWS 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 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