バケットが不要になった場合は、課金を停止するためにバケットを削除します。Object Storage Service (OSS) の料金は、主にバケット内のリソースに対して発生します。バケットを削除する前に、バケット内のすべてのリソースをクリアする必要があります。バケットを削除することは、課金対象のリソースを見逃して想定外の料金が発生することを防ぐための最も確実な方法です。削除されたデータは復元できないことにご注意ください。また、バケット名は解放され、他のユーザーが登録できるようになります。OSS サービスの使用を完全に停止するには、アカウント配下のすべてのバケットを削除する必要があります。
バケットが削除されると、その名前は解放され、他のユーザーが取得できるようになります。バケット名を保持したい場合は、バケットを削除するのではなく、バケットを空にしてください。
バケット内のデータは、バケットが削除されると復元できません。バケットを削除する前に、データが不要であることを確認してください。バケット内のデータを引き続き使用したい場合は、事前にバックアップしてください。詳細については、「バケットのバックアップ」をご参照ください。
注意事項
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。OSS と同じリージョンにある他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、環境変数からアクセス認証情報を取得します。アクセス認証情報の設定方法の詳細については、「OSS SDK for Python 1.0 を使用したアクセス認証情報の設定」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。
バケットを削除する前に、必要なリソースが削除されていることを確認してください。
権限
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを介して操作権限を付与する必要があります。
API | アクション | 定義 |
DeleteBucket |
| バケットを削除します。 |
サンプルコード
次のコードは、examplebucket という名前のバケットを削除する方法の例を示しています。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス認証情報を取得します。このコードサンプルを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# バケットが所在するリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン (例: cn-hangzhou) を指定します。このパラメーターは V4 署名に必要ですのでご注意ください。
region = "cn-hangzhou"
# yourBucketName をご利用のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
try:
# バケットを削除します。
bucket.delete_bucket()
except oss2.exceptions.BucketNotEmpty:
print('bucket is not empty.')
except oss2.exceptions.NoSuchBucket:
print('bucket does not exist')
関連ドキュメント
バケットを削除する方法の完全なコード例については、GitHub の例をご参照ください。
バケットを削除するために呼び出すことができる API 操作の詳細については、「DeleteBucket」をご参照ください。