
# 获取桶存量信息-GetBucketStorageInfo
#### 功能介绍
查询桶对象个数及对象占用空间，对象占用空间大小值为Long类型的非负值，单位为Byte（字节）。
#### 接口约束
- 由于OBS桶存量是后台统计，存量会有一定的时延，不能实时更新，因此不建议对存量做实时校验。
- OBS的桶容量API增加对各个存储类型的容量统计，目前仅支持部分区域，请以实际操作为准。
 
#### 授权信息
您必须是桶拥有者或拥有获取桶存量信息的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:GetBucketStorage** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:bucket:getBucketStorage** 权限，授权操作请参见[创建IAM自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
    
    | 授权项 Action | 访问级别 Access Level | 资源类型（\*为必须） Resource Type (\*: required) | [条件键](https://support.huaweicloud.com/api-obs/obs_04_0112.html#ZH-CN_TOPIC_0000002375307974__condition_table) Condition Key                                                                                                                                                                                                                                                                                            | [别名](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html) Alias | 依赖的授权项 Dependencies |
    |:---|:---|:---|:---|:---|:---|
    | obs:bucket:getBucketStorage                         | Read                                                       | bucket \*                                                                          | - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [g:ResourceTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)                              | -                                                                                                              | -             |
    | obs:bucket:getBucketStorage                         | Read                                                       | -                                                                                  | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                              | -             |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:GetBucketStorage** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
GET /
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-obs/obs_04_0006.html)。调用前需要先[计算API签名](https://support.huaweicloud.com/api-obs/obs_04_0009.html)，并将签名添加到请求中。
您还可以使用[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/OBS/doc?api=GetBucketStorageInfo)在线调试接口。
#### 请求消息样式
以下为请求消息样例，请将示例中的*BucketName* 修改为您的桶名，*RegionID* 修改为桶所在的区域ID，可参考[支持区域](https://console.huaweicloud.com/apiexplorer/#/endpoint/OBS)获取区域ID。
```
GET /?storageinfo HTTP/1.1 
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Date: GMT Date
Authorization: SignatureValue
```
#### URI参数（URI Parameters）
表1URI参数 
| 参数          | 是否必选 | 参数类型 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| storageinfo | 是    | 字符串  | **参数解释**： 用于标识API接口与桶存量有关。 **约束限制**： 计算签名时，请在CanonicalizedResource中添加"/*BucketName* /?storageinfo"，详情参见[签名计算](https://support.huaweicloud.com/api-obs/obs_04_0010.html)。 **取值范围**： storageinfo **默认取值**： 不涉及 |
   
#### 请求头参数（Request headers）
该请求使用公共请求头，具体参见[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)。
#### 请求体参数（Request body）
该请求消息中不带请求体参数。
#### 响应消息样式
```
HTTP/1.1 status_code
Date: date
Content-Type: type
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<GetBucketStorageInfoResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> 
  <Size>size</Size> 
  <ObjectNumber>number</ObjectNumber> 
  <StandardSize>standardsize</StandardSize> 
  <StandardObjectNumber>standardnumber</StandardObjectNumber>
  <WarmSize>warmsize</WarmSize> 
  <WarmObjectNumber>warmnumber</WarmObjectNumber> 
  <ColdSize>coldsize</ColdSize> 
  <ColdObjectNumber>coldnumber</ColdObjectNumber>
  <DeepArchiveSize>deepArchiveSize</DeepArchiveSize>
  <DeepArchiveObjectNumber>deepArchiveNumber</DeepArchiveObjectNumber>
</GetBucketStorageInfoResult>
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
该响应中将桶存量信息以消息元素的形式返回，元素的具体含义如[表2]所示。
 表2响应体 
| 参数                         | 参数类型 | **描述**                                                                                                                                                                                                     |
|:---|:---|:---|
| GetBucketStorageInfoResult | XML  | **参数解释：** 保存桶存量请求结果，包含存量大小和对象个数。 **取值范围：** 不涉及。                                   |
| Size                       | Long | **参数解释：** 返回存量大小。 **取值范围：** 0 \~ 2⁶³−1                                             |
| ObjectNumber               | Long | **参数解释：** 返回对象个数。 **取值范围：** 0 \~ 2⁶³−1                                               |
| StandardSize               | Long | **参数解释：** 返回STANDARD存储类型的存量大小。当无STANDARD存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1       |
| StandardObjectNumber       | Long | **参数解释：** 返回STANDARD对象个数。当无STANDARD存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1           |
| WarmSize                   | Long | **参数解释：** 返回WARM存储类型的存量大小。当无WARM存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1              |
| WarmObjectNumber           | Long | **参数解释：** 返回WARM对象个数。当无WARM存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1               |
| ColdSize                   | Long | **参数解释：** 返回COLD存储类型的存量大小。当无COLD存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1              |
| ColdObjectNumber           | Long | **参数解释：** 返回COLD对象个数。当无COLD存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1                 |
| DeepArchiveSize            | Long | **参数解释：** 返回DEEP_ARCHIVE存储类型的存量大小。当无DEEP_ARCHIVE存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1 |
| DeepArchiveObjectNumber    | Long | **参数解释：** 返回DEEP_ARCHIVE对象个数。当无DEEP_ARCHIVE存储类型对象时不返回此字段。 **取值范围：** 0 \~ 2⁶³−1      |
   
#### 错误响应消息
无特殊错误，所有错误已经包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例
```
GET /?storageinfo HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 03:31:18 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:bLcdeJGYWw/eEEjMhPZx2MK5R9U=
```
#### 响应示例
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435DD2958BFDCDB86B55E
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSitZctaPYVnat49fVMd1O+OWIP1yrg3
Content-Type: application/xml
Date: Wed, 01 Jul 2015 03:31:18 GMT
Content-Length: 206
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetBucketStorageInfoResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
  <Size>25490</Size>
  <ObjectNumber>24</ObjectNumber>
  <StandardSize>25490</StandardSize> 
  <StandardObjectNumber>24</StandardObjectNumber>
</GetBucketStorageInfoResult>
```
#### 使用SDK调用接口
建议您使用OBS SDK调用接口。SDK对API进行了封装以简化您的开发工作，直接调用SDK接口函数即可访问OBS，无需手动计算签名。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0409.html)  | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0809.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0306.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0411.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0407.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0309.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0309.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0308.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0309.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0312.html) | [Harmony](https://support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0309.html) |
|---|---|---|---|---|---|---|---|---|---|---|
   
#### 相关文档
- 了解更多桶用量统计相关内容，请参见[桶用量统计](https://support.huaweicloud.com/usermanual-obs/obs_03_0446.html)。
- API操作涉及的计费项参见[计费项](https://support.huaweicloud.com/price-obs/obs_42_0002.html)。
 
