我有一个url(以https://s3.amazonaws.com/..的形式。)指向S3中的文件,我希望用户可以下载它,所以我在AWS控制台的S3仪表板中设置了权限,但我学会了每当重写文件时它都会被重置(文件名保持不变)。
有没有办法在文件创建后立即自动设置权限?我看了boto图书馆,但无法弄明白。提前致谢!
答案 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。
s3client.put_bucket_acl(ACL='public-read', Bucket='bucketname')
s3client.put_object_acl(ACL='public-read', Bucket='bucketname', Key='path/to/key')
boto3中的非预制ACL更容易。