このトピックでは、Python SDK 2.0 を使用してバケットを削除する方法について説明します。
使用上の注意
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用しています。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。バケットが配置されているのと同じリージョン内の他の Alibaba Cloud サービスからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。バケットのアクセスポイントが削除されます。詳細については、「アクセスポイント」をご参照ください。
バケット内のすべてのオブジェクトが削除されます。
重要バージョン管理されたバケットを削除するには、バケット内のすべての最新バージョンと以前のバージョンのオブジェクトが削除されていることを確認してください。詳細については、「バージョン管理」をご参照ください。
バケット内のマルチパートアップロードまたは再開可能なアップロードタスクによって生成されたパーツが削除されます。詳細については、「パーツの削除」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールは、デフォルトでは権限を持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
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 を参照してください。