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.
Container for the parameters to the ChangeMessageVisibilityBatch operation.
Changes the visibility timeout of multiple messages. This is a batch version of
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 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.
200
.
Namespace: Amazon.SQS.Model
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z
public class ChangeMessageVisibilityBatchRequest : AmazonSQSRequest IAmazonWebServiceRequest
The ChangeMessageVisibilityBatchRequest type exposes the following members
Name | Description | |
---|---|---|
![]() |
ChangeMessageVisibilityBatchRequest() |
Empty constructor used to set properties independently even when a simple constructor is available |
![]() |
ChangeMessageVisibilityBatchRequest(string, List<ChangeMessageVisibilityBatchRequestEntry>) |
Instantiates ChangeMessageVisibilityBatchRequest with the parameterized properties |
Name | Type | Description | |
---|---|---|---|
![]() |
Entries | System.Collections.Generic.List<Amazon.SQS.Model.ChangeMessageVisibilityBatchRequestEntry> |
Gets and sets the property Entries. Lists the receipt handles of the messages for which the visibility timeout must be changed. Starting with version 4 of the SDK this property will default to null. If no data for this property is returned from the service the property will also be null. This was changed to improve performance and allow the SDK and caller to distinguish between a property not set or a property being empty to clear out a value. To retain the previous SDK behavior set the AWSConfigs.InitializeCollections static property to true. |
![]() |
QueueUrl | System.String |
Gets and sets the property QueueUrl. The URL of the Amazon SQS queue whose messages' visibility is changed. Queue URLs and names are case-sensitive. |
This example shows how to change message visibility in batch.
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); } } }
.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