バケットが不要になった場合は、課金を停止するためにバケットを削除します。Object Storage Service (OSS) の料金は、主にバケット内のリソースに対して発生します。バケットを削除する前に、そのすべてのリソースをクリアする必要があります。バケットを削除することは、課金対象のリソースを見逃して想定外の料金が発生することを防ぐための最も確実な方法です。データは削除されると復旧できないことにご注意ください。また、バケット名は解放され、他のユーザーが登録できるようになります。OSS サービスの使用を完全に停止するには、アカウント配下のすべてのバケットを削除する必要があります。
バケットが削除されると、その名前は解放され、他のユーザーが取得できるようになります。バケット名を保持したい場合は、バケットを削除するのではなく、バケットを空にしてください。
バケット内のデータは、バケットが削除されると復旧できません。バケットを削除する前に、データが不要であることを確認してください。バケット内のデータを引き続き使用する場合は、事前にバックアップしてください。詳細については、「バケットのバックアップ」をご参照ください。
注意事項
このトピックのサンプルコードを使用する前に、カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する必要があります。詳細については、「Android 用の OSSClient インスタンスの初期化」をご参照ください。
バケットを削除する前に、必要なリソースを削除したことを確認してください。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを介して操作権限を付与する必要があります。
API | Action | 定義 |
DeleteBucket |
| バケットを削除します。 |
RAM ポリシーで oss:DeleteBucket 権限を持っているにもかかわらずバケットを削除できない場合、バケットポリシーに Effect が Deny に設定された oss:DeleteBucket 権限が含まれている可能性があります。この場合、Effect を Allow に変更するか、バケットポリシーを削除してからバケットを削除する必要があります。
サンプルコード
次のコードは、バケットを削除する方法の例を示しています。
DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest("bucketName");
// バケットを非同期で削除します。
OSSAsyncTask deleteBucketTask = oss.asyncDeleteBucket(deleteBucketRequest, new OSSCompletedCallback<DeleteBucketRequest, DeleteBucketResult>() {
@Override
public void onSuccess(DeleteBucketRequest request, DeleteBucketResult result) {
Log.d("asyncDeleteBucket", "Success!");
}
@Override
public void onFailure(DeleteBucketRequest request, ClientException clientException, ServiceException serviceException) {
// リクエストは失敗しました。
if (clientException != null) {
// ネットワーク例外などのクライアント例外。
clientException.printStackTrace();
}
if (serviceException != null) {
// サービス例外。
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});関連ドキュメント
バケットを削除するための完全なサンプルコードについては、GitHub の例をご参照ください。
バケットを削除するための API 操作の詳細については、「DeleteBucket」をご参照ください。
OSSClient インスタンスを初期化する方法の詳細については、「Android 用の OSSClient インスタンスの初期化」をご参照ください。