閱讀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-阿裏雲