uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket
Namespace: Amazon.S3
Assembly: AWSSDK.dll
Version: 2.0.0.3
Syntax
public virtual PutACLResponse PutACL( PutACLRequest putACLRequest )
Parameters
- putACLRequest
-
Type: Amazon.S3.Model.PutACLRequest
Container for the necessary parameters to execute the PutObjectAcl service method on AmazonS3.
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