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.
uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket
Namespace: Amazon.S3.Model
Assembly: AWSSDK.dll
Version: (assembly version)
public class PutACLRequest : AmazonWebServiceRequest IRequestEvents
The PutACLRequest type exposes the following members
Name | Description | |
---|---|---|
PutACLRequest() |
Name | Type | Description | |
---|---|---|---|
AccessControlList | Amazon.S3.Model.S3AccessControlList | Custom ACLs to be applied to the bucket or object. | |
BucketName | System.String | The name of the bucket. If an object key is not specified, the ACLs are applied to the bucket. | |
CannedACL | Amazon.S3.S3CannedACL | The canned ACL to apply to the bucket. | |
Key | System.String | The key of an S3 object. If not specified, the ACLs are applied to the bucket. | |
VersionId | System.String | If set and an object key has been specified, the ACLs are applied to the specific version of the object. This property is ignored if the ACL is to be set on a Bucket. |
This example shows how to set a canned ACL on an object, first to PublicRead, then back to Private.
// 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.
// 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 });
.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