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

Object Storage Service:OSS SDK for Androidを使用してバケットを削除する

最終更新日:Feb 23, 2024

OSS (Object Storage Service) バケットを使用しなくなった場合は、バケットを削除して不要な課金を停止できます。

使用上の注意

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。

警告

削除されたバケットは復元できません。 バケットを削除する前に、バケット内のデータが不要になったことを確認してください。 バケット内のデータを引き続き使用する場合は、事前にデータをバックアップしてください。 詳細については、「バケットのバックアップ」をご参照ください。

前提条件

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

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

    重要

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

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

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

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

  • バケット内のすべてのLiveChannelsが削除されます。 詳細については、「DeleteLiveChannel」をご参照ください。

  • RAMユーザーを使用してバケットを削除する場合は、RAMユーザーにoss:DeleteBucket権限が付与されます。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

    説明

    RAMユーザーがRAMポリシーでoss:DeleteBucket権限を持っていてもバケットを削除できない場合、バケットポリシーにはoss:DeleteBucket権限が含まれており、その効果はDenyです。 この場合、拒否を許可に変更するか、バケットポリシーを削除する必要があります。 その後、バケットを削除できます。

次のサンプルコードは、バケットを削除する方法の例を示しています。

DeleteBucketRequest deleteBucketRequest=新しいDeleteBucketRequest("bucketName");

// バケットを非同期的に削除します。 
OSSAsyncTask deleteBucketTask = oss.asyncDeleteBucket(deleteBucketRequest, new OSSCompletedCallback<DeleteBucketRequest, DeleteBucketResult>() {
    @オーバーライド
    public void onSuccess(DeleteBucketRequestリクエスト、DeleteBucketResult結果) {
        Log.d("asyncDeleteBucket" 、"Success!");
    }
    @オーバーライド
    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インスタンスを初期化する方法の詳細については、「初期化」をご参照ください。