このトピックでは、C# SDK V2 を使用してバケットを削除する方法について説明します。
前提条件
このトピックのサンプルコードでは、リージョン ID が
cn-hangzhouの中国 (杭州) リージョンを例として使用します。デフォルトでは、パブリックエンドポイントが使用されます。同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。OSS がサポートするリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。バケットのすべてのアクセスポイントが削除されます。詳細については、「アクセスポイント」をご参照ください。
バケット内のすべてのオブジェクトが削除されます。
重要バケットのバージョン管理が有効になっている場合は、バケット内のオブジェクトの現在および以前のすべてのバージョンが削除されていることを確認してください。詳細については、「バージョン管理」をご参照ください。
バケット内のマルチパートまたは再開可能なアップロードによって生成されたすべてのパートが削除されます。詳細については、「パートの削除」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールには、デフォルトでは権限がありません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
DeleteBucket |
| バケットを削除します。 |
サンプルコード
次のコードを使用してバケットを削除できます。
using OSS = AlibabaCloud.OSS.V2; // Alibaba Cloud OSS SDK のエイリアスを作成して、後続の使用を簡素化します。
var region = "cn-hangzhou"; // 必須。バケットが配置されているリージョンを指定します。この例では、中国 (杭州) が使用されます。リージョンを cn-hangzhou に設定します。
var bucket = "your bucket name"; // 必須。宛先バケットの名前を指定します。
var endpoint = null as string; // オプション。OSS へのアクセスに使用するドメイン名を指定します。この例では、中国 (杭州) が使用されます。エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
// OSS SDK のデフォルト設定を読み込みます。設定は、環境変数から AccessKey ペアなどの認証情報を自動的に読み取ります。
var cfg = OSS.Configuration.LoadDefault();
// 環境変数を使用して ID 検証用の認証情報を取得するように明示的に設定します。フォーマットは OSS_ACCESS_KEY_ID と OSS_ACCESS_KEY_SECRET です。
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// 設定でバケットのリージョンを指定します。
cfg.Region = region;
// エンドポイントが指定されている場合は、デフォルトのエンドポイントを上書きします。
if(endpoint != null)
{
cfg.Endpoint = endpoint;
}
// 設定情報に基づいて OSS クライアントインスタンスを作成します。
using var client = new OSS.Client(cfg);
// DeleteBucketAsync メソッドを呼び出して、指定したバケットを削除します。
var result = await client.DeleteBucketAsync(new OSS.Models.DeleteBucketRequest()
{
Bucket = bucket
});
// 結果情報を出力します。
Console.WriteLine("DeleteBucket done"); // 操作が完了したことを示すメッセージ。
Console.WriteLine($"StatusCode: {result.StatusCode}"); // HTTP ステータスコード。
Console.WriteLine($"RequestId: {result.RequestId}"); // リクエスト ID。Alibaba Cloud でのトラブルシューティングに使用されます。
Console.WriteLine("Response Headers:"); // 応答ヘッダー。
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value)); // すべての応答ヘッダーを走査して出力します。リファレンス
バケットを削除するための完全なサンプルコードについては、「deleteBucket.cs」をご参照ください。