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

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

最終更新日:Aug 22, 2024

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

警告

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

前提条件

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

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

    重要

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

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

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

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

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

使用上の注意

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

    説明

    OSSClientインスタンスを初期化するときに、削除するバケットのリージョンにマップするエンドポイントを指定します。

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

    説明

    RAMユーザーがRAMポリシーでoss:DeleteBucket権限を持っているが、バケットを削除できない場合、RAMユーザーにアタッチされている別のバケットポリシーにoss:DeleteBucket権限が含まれている可能性があります。 この場合、バケットを削除する前に、[拒否] を [許可] に変更するか、バケットポリシーを削除する必要があります。

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

OSSDeleteBucketRequest * delete = [OSSDeleteBucketRequest new];
// Specify the name of the bucket. Example: examplebucket. 
delete.bucketName = @"examplebucket";
OSSTask * deleteTask = [client deleteBucket:delete];
[deleteTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"delete bucket success!");
    } else {
        NSLog(@"delete bucket failed, error: %@", task.error);
    }
    return nil;
}];
// Implement synchronous blocking to wait for the task to complete. 
// [getdeleteTask waitUntilFinished];

関連ドキュメント

  • バケットの削除に使用できる完全なサンプルコードの詳細については、GitHubをご参照ください。

  • バケットを削除するために呼び出すことができるAPI操作の詳細については、「DeleteBucket」をご参照ください。

  • OSSClientインスタンスを初期化する方法の詳細については、「初期化」をご参照ください。