本文整理汇总了C#中Amazon.SQS.AmazonSQSClient.ChangeMessageVisibilityBatch方法的典型用法代码示例。如果您正苦于以下问题:C# AmazonSQSClient.ChangeMessageVisibilityBatch方法的具体用法?C# AmazonSQSClient.ChangeMessageVisibilityBatch怎么用?C# AmazonSQSClient.ChangeMessageVisibilityBatch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Amazon.SQS.AmazonSQSClient
的用法示例。
在下文中一共展示了AmazonSQSClient.ChangeMessageVisibilityBatch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SQSChangeMessageVisibilityBatch
public static void SQSChangeMessageVisibilityBatch()
{
#region SQSChangeMessageVisibilityBatch
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);
}
}
}
#endregion
Console.ReadLine();
}