AWS SDK Version 2 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.

.NET Framework 4.5
 
Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the SQS system. Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes. Going forward, new attributes might be added. If you are writing code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

Namespace: Amazon.SQS
Assembly: AWSSDK.dll
Version: (assembly version)

Syntax

C#
public virtual SetQueueAttributesResponse SetQueueAttributes(
         SetQueueAttributesRequest request
)

Parameters

request
Type: Amazon.SQS.Model.SetQueueAttributesRequest

Container for the necessary parameters to execute the SetQueueAttributes service method.

Return Value
Type: Amazon.SQS.Model.SetQueueAttributesResponse
The response from the SetQueueAttributes service method, as returned by SQS.

Exceptions

ExceptionCondition
InvalidAttributeNameException The attribute referred to does not exist.

Examples

This example shows how to set queue attributes.

Set queue attributes example

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);
      

Version Information

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