AWS SDK Version 4 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
{
    MessageSystemAttributeNames = new List<string>() { "All" },
    QueueUrl = url
};

var msgResponse = await client.ReceiveMessageAsync(msgRequest);

// Change visibility timeout for each message.
if (msgResponse.Messages != null)
{
    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 = await client.ChangeMessageVisibilityBatchAsync(batRequest);

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

    if (batResponse.Successful != null)
    {
        foreach (var success in batResponse.Successful)
        {
            Console.WriteLine("  Success ID " + success.Id);
        }
    }

    if (batResponse.Failed != null)
    {
        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:
Supported in: 8.0 and newer, Core 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.7.2 and newer