本文介紹如何通過Python SDK V2刪除儲存空間。
注意事項
本文範例程式碼以華東1(杭州)的地區ID
cn-hangzhou為例,預設使用外網Endpoint,如果您希望通過與OSS同地區的其他阿里雲產品訪問OSS,請使用內網Endpoint。關於OSS支援的Region與Endpoint的對應關係,請參見OSS地區和訪問網域名稱。已刪除Bucket的存取點。具體操作,請參見存取點。
已刪除Bucket的所有檔案(Object)。
重要如果Bucket已開啟版本控制,請確保刪除Bucket中的所有目前的版本和歷史版本檔案。具體操作,請參見版本控制。
已刪除Bucket的所有因分區上傳或斷點續傳產生的片段(Part)。具體操作,請參見刪除片段。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API | Action | 說明 |
DeleteBucket |
| 刪除Bucket。 |
方法定義
delete_bucket(request: DeleteBucketRequest, **kwargs) → DeleteBucketResult請求參數列表
參數名 | 類型 | 說明 |
request | DeleteBucketRequest | 佈建要求參數,具體請參見DeleteBucketRequest |
傳回值列表
類型 | 說明 |
DeleteBucketResult | 傳回值,具體請參見DeleteBucketResult |
關於刪除儲存空間方法的完整定義,請參見delete_bucket。
範例程式碼
您可以使用以下代碼刪除儲存空間。
import argparse
import alibabacloud_oss_v2 as oss
# 建立命令列參數解析器,描述此指令碼用於刪除指定的OSS Bucket。
parser = argparse.ArgumentParser(description="Delete a specified OSS bucket.")
# 添加命令列參數 --region,表示儲存空間所在的地區,必需參數
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
# 添加命令列參數 --bucket,表示儲存空間的名稱,必需參數
parser.add_argument('--bucket', help='The name of the bucket to delete.', required=True)
# 添加命令列參數 --endpoint,表示其他服務可用來訪問OSS的網域名稱,非必需參數
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS.')
def main():
"""
主函數,用於解析命令列參數並執行刪除指定Bucket的操作。
"""
args = parser.parse_args() # 解析命令列參數
# 從環境變數中載入憑證資訊,用於身分識別驗證
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# 使用SDK的預設配置,並設定憑證提供者和地區資訊
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# 如果提供了endpoint參數,則設定配置中的endpoint
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# 使用配置好的資訊建立OSS用戶端
client = oss.Client(cfg)
# 構造請求以刪除指定的Bucket
request = oss.DeleteBucketRequest(bucket=args.bucket)
try:
# 發送請求並擷取響應結果
result = client.delete_bucket(request)
# 列印響應結果的狀態代碼和請求ID
print(f'status code: {result.status_code},'
f' request id: {result.request_id}')
except oss.exceptions.OssError as e:
# 捕獲並列印可能發生的異常
print(f"Failed to delete bucket: {e}")
if __name__ == "__main__":
main() # 指令碼入口,當檔案被直接運行時調用main函數
相關文檔
關於刪除Bucket的完整範例程式碼,請參見delete_bucket.py。