Hello! 欢迎来到小浪资源网!

如何使用 OSS2 设置特定路径下所有对象的公开访问权限并使其继承该权限?


如何使用 OSS2 设置特定路径下所有对象的公开访问权限并使其继承该权限?

通过 oss2 设置路径对象公开访问并继承 acl

想要对特定路径下的所有对象设置公开访问权限,并使新写入对象继承该权限,应使用 put_bucket_policy 而不是 put_bucket_acl。

bucketpolicy 示例

参考阿里云官方文档中的 bucketpolicy 示例,可以自行编写一个针对特定路径的 bucketpolicy:https://help.aliyun.com/document_detail/266627.htm

示例代码

以下代码示例展示了如何在 sample/video 路径下设置公开访问权限:

from oss2 import Bucket from oss2.fields import Policy  bucket = Bucket(oss2.Auth(), "your-endpoint", "your-bucket-name") policy = Policy() policy.rules = [     {         "effect": "Allow",         "principal": "*",         "action": ["GetObject"],         "resource": ["acs:oss://your-bucket-name/sample/video/*"],     } ] bucket.put_bucket_policy(policy)

相关阅读