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
 
For each message in the batch, the response contains a ChangeMessageVisibilityBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceResponse
    Amazon.SQS.Model.ChangeMessageVisibilityBatchResult

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

Syntax

C#
public class ChangeMessageVisibilityBatchResult : AmazonWebServiceResponse

The ChangeMessageVisibilityBatchResult type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property ContentLength System.Int64 Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property Failed System.Collections.Generic.List<Amazon.SQS.Model.BatchResultErrorEntry> Gets and sets the property Failed.

A list of BatchResultErrorEntry items.

Public Property HttpStatusCode System.Net.HttpStatusCode Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property ResponseMetadata Amazon.Runtime.ResponseMetadata Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property Successful System.Collections.Generic.List<Amazon.SQS.Model.ChangeMessageVisibilityBatchResultEntry> Gets and sets the property Successful.

A list of ChangeMessageVisibilityBatchResultEntry items.

Examples

This example shows how to change message visibility in batch.

Batch change message visibility example

var client = new AmazonSQSClient();

var url = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue";

// Receive messages.
var msgRequest = new ReceiveMessageRequest
{
  AttributeNames = new List<string>() { "All" },
  QueueUrl = url
};

var msgResponse = client.ReceiveMessage(msgRequest);

// Change visibility timeout for each message.
if (msgResponse.Messages.Count > 0)
{
  var entries = new List<ChangeMessageVisibilityBatchRequestEntry>();

  int numMessages = 0;

  foreach (var message in msgResponse.Messages)
  {
    numMessages += 1;

    var entry = new ChangeMessageVisibilityBatchRequestEntry
    {
      Id = "Entry" + numMessages.ToString(),
      ReceiptHandle = message.ReceiptHandle,
      VisibilityTimeout = (int)TimeSpan.FromMinutes(10).TotalSeconds
    };

    entries.Add(entry);
  }

  var batRequest = new ChangeMessageVisibilityBatchRequest
  {
    Entries = entries,
    QueueUrl = url
  };

  var batResponse = client.ChangeMessageVisibilityBatch(batRequest);

  Console.WriteLine("Successes: " + batResponse.Successful.Count +
    ", Failures: " + batResponse.Failed.Count);

  if (batResponse.Successful.Count > 0)
  {
    foreach (var success in batResponse.Successful)
    {
      Console.WriteLine("  Success ID " + success.Id);
    }
  }

  if (batResponse.Failed.Count > 0)
  {
    foreach (var fail in batResponse.Failed)
    {
      Console.WriteLine("  Failure 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