C#获取存储空间的存储容量

本文介绍如何获取指定存储空间(Bucket)的存储容量以及Bucket内不同存储类型文件(Object)的数量及其存储容量。

注意事项

本文示例代码以华东1(杭州)的地域IDcn-hangzhou为例,默认使用外网Endpoint,如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的RegionEndpoint的对应关系,请参见OSS地域和访问域名

示例代码

您可以使用以下代码获取存储空间的存储容量信息。

using OSS = AlibabaCloud.OSS.V2; // 为阿里云OSS SDK创建别名,简化后续使用

var region = "cn-hangzhou"; // 必须项,设置Bucket所在的区域(Region)。以华东1(杭州)为例,Region填写为cn-hangzhou
var bucket = "your bucket name";  // 必须项,设置目标Bucket名称  
var endpoint = null as string;  // 可选项,指定访问OSS服务的域名。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com

// 加载OSS SDK的默认配置,此配置会自动从环境变量中读取凭证信息(如AccessKey)
var cfg = OSS.Configuration.LoadDefault();
// 显式设置使用环境变量获取凭证,用于身份验证(格式:OSS_ACCESS_KEY_ID、OSS_ACCESS_KEY_SECRET)
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// 设置配置的Bucket区域
cfg.Region = region;
// 若已指定了endpoint,则覆盖默认的endpoint
if(endpoint != null)
{
    cfg.Endpoint = endpoint;
} 

// 使用配置信息创建OSS客户端实例
using var client = new OSS.Client(cfg);

// 调用GetBucketStatAsync方法,获取指定Bucket的存储容量信息
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}");  // RequestId,用于阿里云排查问题
Console.WriteLine("Response Headers:");  // 响应头信息
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // 遍历并打印所有响应头
Console.WriteLine($"Storage: {result.BucketStat!.Storage}");  //  打印Bucket总存储量
Console.WriteLine($"ObjectCount: {result.BucketStat!.ObjectCount}");  //  打印Bucket中总的Object数量

常用存储容量信息列表

参数

描述

Storage

存储空间总存储量,单位为字节

ObjectCount

存储空间中总的Object数量

MultipartUploadCount

存储空间中已经初始化但还未完成或者还未中止的分片上传数量

LiveChannelCount

存储空间中Live Channel的数量

LastModifiedTime

此次调用获取到的存储信息的时间点,格式为时间戳,单位为秒

StandardStorage

标准存储类型Object的存储量,单位为字节

StandardObjectCount

标准存储类型Object数量

InfrequentAccessStorage

低频存储类型Object的计费存储量,单位为字节

InfrequentAccessRealStorage

低频存储类型Object的实际存储量,单位为字节

InfrequentAccessObjectCount

低频存储类型Object数量

ArchiveStorage

归档存储类型Object的计费存储量,单位为字节

ArchiveRealStorage

归档存储类型Object的实际存储量,单位为字节

ArchiveObjectCount

归档存储类型Object数量

ColdArchiveStorage

冷归档存储类型Object的计费存储量,单位为字节

ColdArchiveRealStorage

冷归档存储类型Object的实际存储量,单位为字节

ColdArchiveObjectCount

冷归档存储类型Object数量

相关文档

关于获取存储空间信息的完整示例代码,请参见GetBucketStat.cs