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
 
Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch.

All of the following parameters are list parameters that must be prefixed with

ChangeMessageVisibilityBatchRequestEntry.n
, where
n
is an integer value starting with 1. For example, a parameter list for this action might look like this:

&ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2

&ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=Your_Receipt_Handle

&ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45

Inheritance Hierarchy

System.Object
  Amazon.SQS.Model.ChangeMessageVisibilityBatchRequestEntry

Namespace: Amazon.SQS.Model
Assembly: AWSSDK.dll
Version: 0.0.3.0

Syntax

C#
public class ChangeMessageVisibilityBatchRequestEntry : Object

The ChangeMessageVisibilityBatchRequestEntry type exposes the following members

Constructors

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

Properties

  Name Description
Public Property Id Gets and sets the property Id.

An identifier for this particular receipt handle. This is used to communicate the result. Note that the

Id
s of a batch request need to be unique within the request.

Public Property ReceiptHandle Gets and sets the property ReceiptHandle.

A receipt handle.

Public Property VisibilityTimeout Gets and sets the property VisibilityTimeout.

The new value (in seconds) for the message's visibility timeout.

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