すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS SDK for Python 2.0 を使用したバケットの削除

最終更新日:Aug 05, 2025

このトピックでは、Python SDK 2.0 を使用してバケットを削除する方法について説明します。

使用上の注意

  • このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID cn-hangzhou を使用しています。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。バケットが配置されているのと同じリージョン内の他の Alibaba Cloud サービスからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • バケットのアクセスポイントが削除されます。詳細については、「アクセスポイント」をご参照ください。

  • バケット内のすべてのオブジェクトが削除されます。

    重要

    バージョン管理されたバケットを削除するには、バケット内のすべての最新バージョンと以前のバージョンのオブジェクトが削除されていることを確認してください。詳細については、「バージョン管理」をご参照ください。

    • バケットに含まれるオブジェクトの数が少ない場合は、手動で削除します。詳細については、「オブジェクトの削除」をご参照ください。

    • バケットに多数のオブジェクトが含まれている場合は、ライフサイクルルールを構成して削除します。詳細については、「ライフサイクル」をご参照ください。

  • バケット内のマルチパートアップロードまたは再開可能なアップロードタスクによって生成されたパーツが削除されます。詳細については、「パーツの削除」をご参照ください。

権限

デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールは、デフォルトでは権限を持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

定義

DeleteBucket

oss:DeleteBucket

バケットを削除します。

メソッド定義

delete_bucket(request: DeleteBucketRequest, **kwargs) → DeleteBucketResult

リクエストパラメーター

パラメーター

タイプ

説明

request

DeleteBucketRequest

リクエストパラメーター。詳細については、DeleteBucketRequest を参照してください。

レスポンスパラメーター

タイプ

説明

DeleteBucketResult

レスポンスパラメーター。詳細については、DeleteBucketResult を参照してください。

delete_bucket メソッドの完全な定義については、delete_bucket を参照してください。

サンプルコード

以下は、バケットを削除するためのコード例です。

import argparse
import alibabacloud_oss_v2 as oss

# コマンドライン引数パーサーを作成し、このスクリプトが指定された OSS バケットを削除するために使用されることを記述します。
parser = argparse.ArgumentParser(description="指定された OSS バケットを削除します。")

# --region コマンドライン引数を追加します。これは、バケットが配置されているリージョンを指定します。この引数は必須です。
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)

# --bucket コマンドライン引数を追加します。これは、削除するバケットの名前を指定します。この引数は必須です。
parser.add_argument('--bucket', help='削除するバケットの名前。', required=True)

# --endpoint コマンドライン引数を追加します。これは、他のサービスが OSS にアクセスするために使用できるドメイン名を指定します。この引数は必須ではありません。
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスするために使用できるドメイン名。')

def main():
    """
    メイン関数。コマンドライン引数を解析し、指定されたバケットを削除するために使用されます。
    """

    args = parser.parse_args()  # コマンドライン引数を解析します。

    # ID 検証のために環境変数から認証情報をロードします。
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # SDK のデフォルト設定を使用し、認証情報プロバイダーとリージョンを設定します。
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    # endpoint パラメーターが指定されている場合は、設定でエンドポイントを設定します。
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # 設定に基づいて OSS クライアントを作成します。
    client = oss.Client(cfg)

    # 指定されたバケットを削除するためのリクエストを構築します。
    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"バケットの削除に失敗しました: {e}")

if __name__ == "__main__":
    main()  # スクリプトのエントリポイント。ファイルが実行されると、main 関数が呼び出されます。
  

参照

  • 完全なサンプルコードについては、delete_bucket.py を参照してください。