Object Storage Service(OSS)バケットが不要になった場合は、バケットを削除して不要な課金を防ぐことができます。
バケットが削除されると、その名前は他のユーザーが使用できるようになります。名前を引き続き使用したい場合は、バケットを削除する代わりに空にすることをお勧めします。
削除されたバケットは復元できません。バケットを削除する前に、バケット内のデータが不要になったことを確認してください。バケット内のデータを引き続き使用する場合は、事前にバックアップを実行してください。詳細については、「バケットのバックアップ」をご参照ください。
使用上の注意
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントが使用されています。OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用してください。OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスが作成されます。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントにはすべての権限があります。Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールには、デフォルトでは権限がありません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 説明 |
DeleteBucket |
| バケットを削除します。 |
バケットを削除する前にクリーンアップする必要があるリソース
バケットを削除する前に、格納されているすべてのリソースをクリーンアップする必要があります。ほとんどの場合、オブジェクトのみがバケット内に格納されます。ただし、少数のユーザーは、高度な機能に関連付けられた設定項目も削除する必要があります。 OSS コンソールを使用することをお勧めします。これは、バケットを削除する前にクリーンアップするリソースの自動検出をサポートしているためです。
バケット内に保存されているすべてのオブジェクト を削除する(ほとんどのユーザーに該当します)
バケットに少数のオブジェクトが含まれている場合は、手動で削除することをお勧めします。多数のオブジェクトを削除するには、ライフサイクルルールを設定してオブジェクトを削除することをお勧めします。さらに、バケットでバージョン管理が有効になっている場合は、オブジェクトの現在のバージョンと履歴バージョンの両方をクリーンアップする必要があります。
サンプルコード
次のサンプルコードは、examplebucket という名前のバケットを削除する方法を示しています。
using System;
using Aliyun.OSS;
using Aliyun.OSS.Common;
namespace Samples
{
public class Program
{
public static void Main(string[] args)
{
// バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
var endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// バケットの名前を指定します。例: examplebucket。
var bucketName = "examplebucket314";
// バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを cn-hangzhou に設定します。
const string region = "cn-hangzhou";
// ClientConfiguration インスタンスを作成し、必要に応じてパラメータを変更します。
var conf = new ClientConfiguration();
// 署名アルゴリズム V4 を使用します。
conf.SignatureVersion = SignatureVersion.V4;
// OSSClient インスタンスを作成します。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
client.SetRegion(region);
try
{
client.DeleteBucket(bucketName);
Console.WriteLine("Delete bucket succeeded"); // バケットの削除に成功しました
}
catch (Exception ex)
{
Console.WriteLine("Delete bucket failed. {0}", ex.Message); // バケットの削除に失敗しました。
}
}
}
}
関連情報
バケットの削除に使用される完全なサンプルコードについては、GitHub をご覧ください。
バケットの削除のために呼び出すことができる API 操作の詳細については、「DeleteBucket」をご参照ください。