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 permissions on a bucket using access control lists (ACL).

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

Syntax

C#
public abstract PutACLResponse PutACL(
         PutACLRequest request
)

Parameters

request
Type: Amazon.S3.Model.PutACLRequest

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

Return Value
Type: Amazon.S3.Model.PutACLResponse
The response from the PutACL service method, as returned by S3.

Examples

This example shows how to set a canned ACL on an object, first to PublicRead, then back to Private.

PutACL sample 1


// Create a client
AmazonS3Client client = new AmazonS3Client();

// Set Canned ACL (PublicRead) for an existing item
client.PutACL(new PutACLRequest
{
    BucketName = "SampleBucket",
    Key = "Item1",
    CannedACL = S3CannedACL.PublicRead
});

// Set Canned ACL (PublicRead) for an existing item
// (This reverts ACL back to default for object)
client.PutACL(new PutACLRequest
{
    BucketName = "SampleBucket",
    Key = "Item1",
    CannedACL = S3CannedACL.Private
});

                

This example shows how to get and set ACLs on an object.

GetACL\PutACL samples


// Create a client
AmazonS3Client client = new AmazonS3Client();

// Retrieve ACL for object
S3AccessControlList acl = client.GetACL(new GetACLRequest
{
    BucketName = "SampleBucket",
    Key = "Item1",
}).AccessControlList;

// Retrieve owner
Owner owner = acl.Owner;


// Describe grant
S3Grant grant = new S3Grant
{
    Grantee = new S3Grantee { EmailAddress = "sample@example.com" },
    Permission = S3Permission.WRITE_ACP
};

// Create new ACL
S3AccessControlList newAcl = new S3AccessControlList
{
    Grants = new List<S3Grant> { grant },
    Owner = owner
};

// Set new ACL
PutACLResponse response = client.PutACL(new PutACLRequest
{
    BucketName = "SampleBucket",
    Key = "Item1",
    AccessControlList = acl
});

                

Version Information

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