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 the Id of an entry in ChangeMessageVisibilityBatch.

Inheritance Hierarchy

System.Object
  Amazon.SQS.Model.ChangeMessageVisibilityBatchResultEntry

Namespace: Amazon.SQS.Model
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z

Syntax

C#
public class ChangeMessageVisibilityBatchResultEntry

The ChangeMessageVisibilityBatchResultEntry type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property Id System.String

Gets and sets the property Id.

Represents a message whose visibility timeout has been changed successfully.

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 Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

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