阅读1028 返回首页    go 微信


管理存储空间__Python-SDK_SDK 参考_对象存储 OSS-阿里云

存储空间(Bucket)是OSS上的命名空间,也是计费、权限控制、日志记录等高级功能的管理实体。

查看所有Bucket

通过oss2.BucketIterator可以遍历所有的Bucket:

# -*- coding: utf-8 -*-

import oss2

auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
service = oss2.Service(auth, '您的Endpoint')

print([b.name for b in oss2.BucketIterator(service)])

其中,oss2.Service是用来访问“OSS服务”相关的类,目前只是用来列举用户的Bucket。

创建Bucket

通过指定Endpoint和Bucket名,用户可以在指定的区域创建新的Bucket:

bucket = oss2.Bucket(auth, '您的Endpoint', '您的Bucket名')
bucket.create_bucket()

比如,把Endpoint设为 https://oss-cn-beijing.aliyuncs.com `,就可以在北京区域创建一个Bucket。 关于Endpoint、区域及其对应关系,以及Bucket的命名规范,请参考OSS 基本概念

创建时还可以指定Bucket的权限,如下面的代码创建一个公共可读的Bucket:

bucket.create_bucket(oss2.BUCKET_ACL_PUBLIC_READ)

删除Bucket

用下面的方法删除一个空的Bucket:

try:
    bucket.delete_bucket()
except oss2.exceptions.BucketNotEmpty:
    print('bucket is not empty.')
except oss2.exceptions.NoSuchBucket:
    print('bucket does not exist')

如果Bucket非空,即还有文件或进行中的分片上传,那么就无法删除,SDK会抛出BucketNotEmpty异常。如果,Bucket不存在,则抛出NoSuchBucket异常。

注意

  • 一旦Bucket被删除,Bucket名可能会被其他用户申请。
  • 对于非空Bucket,可以通过边列举边删除(对于分片上传则是终止上传)的方法清空Bucket后,再删除。

查看Bucket访问权限

print(bucket.get_bucket_acl().acl)

设置Bucket访问权限

把Bucket的访问权限设为私有:

bucket.put_bucket_acl(oss2.BUCKET_ACL_PRIVATE)

最后更新:2016-11-23 16:04:10

  上一篇:go 跨区域复制__Java-SDK_SDK 参考_对象存储 OSS-阿里云
  下一篇:go 出错处理__Python-SDK_SDK 参考_对象存储 OSS-阿里云