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 3.5
Container for the parameters to the AddPermission operation. Adds a permission to a queue for a specific principal. This allows for sharing access to the queue.

When you create a queue, you have full control access rights for the queue. Only you (as owner of the queue) can grant or deny permissions to the queue. For more information about these permissions, see Shared Queues in the Amazon SQS Developer Guide.

AddPermission writes an Amazon SQS-generated policy. If you want to write your own policy, use SetQueueAttributes to upload your policy. For more information about writing your own policy, see Using The Access Policy Language in the Amazon SQS Developer Guide.

Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:



Inheritance Hierarchy


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


public class AddPermissionRequest : AmazonSQSRequest

The AddPermissionRequest type exposes the following members


Public Method AddPermissionRequest() Empty constructor used to set properties independently even when a simple constructor is available
Public Method AddPermissionRequest(string, string, List<String>, List<String>)


Public Property Actions System.Collections.Generic.List<System.String> Gets and sets the property Actions.

The action the client wants to allow for the specified principal. The following are valid values:

* | SendMessage | ReceiveMessage | DeleteMessage | ChangeMessageVisibility
            | GetQueueAttributes | GetQueueUrl
. For more information about these actions, see Understanding Permissions in the Amazon SQS Developer Guide.

Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for the ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch.

Public Property AWSAccountIds System.Collections.Generic.List<System.String> Gets and sets the property AWSAccountIds.

The AWS account number of the principal who will be given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS account identification, see Your AWS Identifiers in the Amazon SQS Developer Guide.

Public Property Label System.String Gets and sets the property Label.

The unique identification of the permission you're setting (e.g., AliceSendMessage). Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.

Public Property QueueUrl System.String Gets and sets the property QueueUrl.

The URL of the Amazon SQS queue to take action on.


This example shows how to add a permission.

Add permission example

var client = new AmazonSQSClient();

var request = new AddPermissionRequest
  Actions = new List<string>() { "GetQueueAttributes", "GetQueueUrl" },
  AWSAccountIds = new List<string>() { "80398EXAMPLE" },
  Label = "JohnDoeCanAccessQueues",
  QueueUrl = ""


Version Information

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

.NET for Windows Store apps:
Supported in: Windows 8.1, Windows 8

.NET for Windows Phone:
Supported in: Windows Phone 8.1, Windows Phone 8