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
 
Container for the parameters to the ChangeMessageVisibilityBatch operation. Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.SQS.AmazonSQSRequest
      Amazon.SQS.Model.ChangeMessageVisibilityBatchRequest

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

Syntax

C#
public class ChangeMessageVisibilityBatchRequest : AmazonSQSRequest
         IRequestEvents

The ChangeMessageVisibilityBatchRequest type exposes the following members

Constructors

NameDescription
Public Method ChangeMessageVisibilityBatchRequest() Empty constructor used to set properties independently even when a simple constructor is available
Public Method ChangeMessageVisibilityBatchRequest(string, List<ChangeMessageVisibilityBatchRequestEntry>)

Properties

NameTypeDescription
Public Property Entries System.Collections.Generic.List<Amazon.SQS.Model.ChangeMessageVisibilityBatchRequestEntry> Gets and sets the property Entries.

A list of receipt handles of the messages for which the visibility timeout must be changed.

Public Property QueueUrl System.String Gets and sets the property QueueUrl.

The URL of the Amazon SQS queue to take action on.

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