如何自动授予 S3 http url 权限

How to automate S3 http url permission grant

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

有没有办法在创建文件后自动设置权限?我查看了 boto 库,但无法弄清楚。提前致谢!

这是一个很常见的操作。

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')

非固定 ACL 在 boto3 中更容易一些。