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.
MessageRetentionPeriod attribute
can take up to 15 minutes.
Namespace: Amazon.SQS
Assembly: AWSSDK.dll
Version: (assembly version)
public virtual SetQueueAttributesResponse SetQueueAttributes( SetQueueAttributesRequest request )
Container for the necessary parameters to execute the SetQueueAttributes service method.
| Exception | Condition |
|---|---|
| InvalidAttributeNameException | The attribute referred to does not exist. |
This example shows how to set queue attributes.
var client = new AmazonSQSClient();
var attrs = new Dictionary<string, string>();
// Maximum message size of 128 KiB (1,024 bytes * 128 KiB = 131,072 bytes).
int maxMessage = 128 * 1024;
attrs.Add(QueueAttributeName.DelaySeconds,
TimeSpan.FromSeconds(5).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.MaximumMessageSize, maxMessage.ToString());
attrs.Add(QueueAttributeName.MessageRetentionPeriod,
TimeSpan.FromDays(1).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.ReceiveMessageWaitTimeSeconds,
TimeSpan.FromSeconds(5).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.VisibilityTimeout,
TimeSpan.FromHours(1).TotalSeconds.ToString());
// Dead-letter queue attributes.
attrs.Add(QueueAttributeName.RedrivePolicy,
"{\"maxReceiveCount\":" +
"\"5\"," +
"\"deadLetterTargetArn\":" +
"\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyTestDeadLetterQueue\"}");
var request = new SetQueueAttributesRequest
{
Attributes = attrs,
QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue"
};
client.SetQueueAttributes(request);
.NET Framework:
Supported in: 4.5, 4.0, 3.5