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.

Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch.

All of the following list parameters 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.SQS.dll
Version: 3.x.y.z

Syntax

C#
public class ChangeMessageVisibilityBatchRequestEntry

The ChangeMessageVisibilityBatchRequestEntry type exposes the following members

Constructors

NameDescription
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

NameTypeDescription
Public Property Id System.String

Gets and sets the property Id.

An identifier for this particular receipt handle used to communicate the result.

The Ids of a batch request need to be unique within a request

Public Property ReceiptHandle System.String

Gets and sets the property ReceiptHandle.

A receipt handle.

Public Property VisibilityTimeout System.Int32

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() { "All" },
  QueueUrl = url
};

var msgResponse = client.ReceiveMessage(msgRequest);

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

  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 Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Unity:
Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone