全部產品
Search
文件中心

Object Storage Service:刪除儲存空間(Python SDK V2)

更新時間:Jul 31, 2025

本文介紹如何通過Python SDK V2刪除儲存空間。

注意事項

  • 本文範例程式碼以華東1(杭州)的地區IDcn-hangzhou為例,預設使用外網Endpoint,如果您希望通過與OSS同地區的其他阿里雲產品訪問OSS,請使用內網Endpoint。關於OSS支援的Region與Endpoint的對應關係,請參見OSS地區和訪問網域名稱

  • 已刪除Bucket的存取點。具體操作,請參見存取點

  • 已刪除Bucket的所有檔案(Object)。

    重要

    如果Bucket已開啟版本控制,請確保刪除Bucket中的所有目前的版本和歷史版本檔案。具體操作,請參見版本控制

    • 如果您的檔案數量較少,您可以手動進行刪除。具體操作,請參見刪除檔案

    • 如果您的檔案數量較多,您可以配置生命週期規則進行自動刪除。具體操作,請參見生命週期

  • 已刪除Bucket的所有因分區上傳或斷點續傳產生的片段(Part)。具體操作,請參見刪除片段

許可權說明

阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM PolicyBucket Policy授予操作許可權。

API

Action

說明

DeleteBucket

oss: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函數
  

相關文檔