.NET中如何获取Cosmos DB集合的存储大小?
在.NET中获取Cosmos DB集合存储大小的便捷方案
- 新版.NET Cosmos DB SDK(
Microsoft.Azure.Cosmos包,v3及以上版本)提供了无需手动解析响应头的替代方案,可直接获取容器存储大小,替代旧版ResourceResponse的CollectionSizeUsage属性:
1. 直接读取容器元数据
调用Container.ReadContainerAsync方法,返回的ContainerResponse对象中,Resource属性封装了StorageUsage字段,可直接获取存储大小(单位:字节):
var cosmosClient = new CosmosClient("你的连接字符串"); var container = cosmosClient.GetContainer("数据库ID", "容器ID"); var response = await container.ReadContainerAsync(); long storageSizeInBytes = response.Resource.StorageUsage;
2. 批量查询容器使用情况(可选)
若需批量获取多个容器的存储信息,可通过查询系统视图实现,但单容器场景下上述ReadContainerAsync是最直接高效的方式。
- 该方案的优势在于SDK已封装好存储大小属性,无需自行解析
x-ms-resource-usage响应头,避免了格式变更带来的兼容性问题。
内容的提问来源于stack exchange,提问作者Mo B.
相关产品推荐
相关产品推荐

