如何自动化S3 http url权限授予

时间:2015-12-04 04:13:16

标签: amazon-web-services amazon-s3 boto boto3

我有一个url(以https://s3.amazonaws.com/..的形式。)指向S3中的文件,我希望用户可以下载它,所以我在AWS控制台的S3仪表板中设置了权限,但我学会了每当重写文件时它都会被重置(文件名保持不变)。

有没有办法在文件创建后立即自动设置权限?我看了boto图书馆,但无法弄明白。提前致谢!

1 个答案:

答案 0 :(得分:1)

这是一种非常常见的操作。

With the Boto library, you can set an ACL。假设你有一把钥匙:

key.set_acl('public-read')

如果你没有钥匙,你需要一个桶:

bucket.set_acl('public-read', 'path/to/key')

您也可以使用非固定ACL。文档链接到那。

在boto3中,您还可以设置ACL。

Bucket syntax:

s3client.put_bucket_acl(ACL='public-read', Bucket='bucketname')

Key syntax:

s3client.put_object_acl(ACL='public-read', Bucket='bucketname', Key='path/to/key')

boto3中的非预制ACL更容易。