このトピックでは、指定されたバケットのストレージ容量 (各ストレージクラスのオブジェクト数とストレージ容量を含む) をクエリする方法について説明します。
注意事項
このトピックのサンプルコードでは、中国 (杭州) リージョン (cn-hangzhou) を例として使用します。 デフォルトでは、パブリックエンドポイントが使用されます。 同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。 OSS がサポートするリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
サンプルコード
次のコードを使用して、バケットのストレージ容量をクエリできます。
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);
// GetBucketStatAsync メソッドを呼び出して、指定されたバケットのストレージ容量情報をクエリします。
var result = await client.GetBucketStatAsync(new OSS.Models.GetBucketStatRequest()
{
Bucket = bucket
});
// 結果情報を出力します。
Console.WriteLine("GetBucketStat 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)); // すべての応答ヘッダーを走査して出力します。
Console.WriteLine($"Storage: {result.BucketStat!.Storage}"); // バケットの合計ストレージ容量を出力します。
Console.WriteLine($"ObjectCount: {result.BucketStat!.ObjectCount}"); // バケット内のオブジェクトの総数を出力します。一般的なストレージ容量情報
パラメーター | 説明 |
Storage | バケットの合計ストレージ容量。 単位: バイト。 |
ObjectCount | バケット内のオブジェクトの総数。 |
MultipartUploadCount | バケット内で開始されたが、完了または中止されていないマルチパートアップロードタスクの数。 |
LiveChannelCount | バケット内の LiveChannel の数。 |
LastModifiedTime | この呼び出しによってストレージ情報が取得された時点。 値は UNIX タイムスタンプです。 単位: 秒。 |
StandardStorage | 標準オブジェクトのストレージ容量。 単位: バイト。 |
StandardObjectCount | 標準オブジェクトの数。 |
InfrequentAccessStorage | 低頻度アクセス (IA) オブジェクトの課金対象ストレージ容量。 単位: バイト。 |
InfrequentAccessRealStorage | IA オブジェクトの実際のストレージ容量。 単位: バイト。 |
InfrequentAccessObjectCount | IA オブジェクトの数。 |
ArchiveStorage | アーカイブストレージオブジェクトの課金対象ストレージ容量。 単位: バイト。 |
ArchiveRealStorage | アーカイブストレージオブジェクトの実際のストレージ容量。 単位: バイト。 |
ArchiveObjectCount | アーカイブストレージオブジェクトの数。 |
ColdArchiveStorage | コールドアーカイブオブジェクトの課金対象ストレージ容量。 単位: バイト。 |
ColdArchiveRealStorage | コールドアーカイブオブジェクトの実際のストレージ容量。 単位: バイト。 |
ColdArchiveObjectCount | コールドアーカイブオブジェクトの数。 |
リファレンス
完全なサンプルコードについては、「GetBucketStat.cs」をご参照ください。