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 request )
Parameters
- request
-
Type: Amazon.S3.Model.PutACLRequest
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