
# 获取桶元数据-GetBucketMetadata
#### 功能介绍
可通过本接口获取桶元数据相关信息。了解更多元数据相关介绍，请参见[配置、编辑、查看对象元数据](https://support.huaweicloud.com/usermanual-obs/obs_03_0324.html)。
#### 授权信息
您必须是桶拥有者或拥有获取桶元数据的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:HeadBucket** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:bucket:headBucket** 权限，授权操作请参见[创建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:headBucket                               | 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:headBucket                               | Read                                                      | -                                                                                | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                              | -             |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:HeadBucket** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
HEAD /
#### 调用方法
请参见[如何调用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=GetBucketMetadata)在线调试接口。
#### 请求消息样式
以下为请求消息样例，请将示例中的*BucketName* 修改为您的桶名，*RegionID* 修改为桶所在的区域ID，可参考[支持区域](https://console.huaweicloud.com/apiexplorer/#/endpoint/OBS)获取区域ID。
```
HEAD / HTTP/1.1 
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Date: GMT Date
Authorization: SignatureValue
```
#### URI参数（URI Parameters）
本接口的请求消息不带URI参数。
#### 请求头参数（Request headers）
该请求使用公共消息头，具体参见[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)。
如果想要获取CORS配置信息，则需要使用的消息头如下[表1]所示。
 表1获取CORS配置的请求头参数 
| **消息头名称**                      | **消息头类型** | **是否必选** | **描述**                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| Origin                         | String    | 是        | **参数解释：** 预请求指定的跨域请求Origin（通常为域名）。 **取值范围：** 符合http协议的该头域的值。 **默认取值：** 无 |
| Access-Control-Request-Headers | String    | 否        | **参数解释：** 实际请求可以带的HTTP头域。 **取值范围：** 符合http协议的该头域的值。 **默认** **取值：** 无        |
   
#### 请求体参数（Request body）
该请求消息中不带请求体参数。
#### 响应消息样式
```
HTTP/1.1 status_code
x-obs-bucket-location: RegionID
Date: GMT Date
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
除公共响应头之外，还可能使用如下[表2]中的附加响应头。
 表2附加响应头 
| **消息头名称**                     | **消息头类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| x-obs-bucket-location         | String    | **参数解释：** 桶的区域位置信息。 **取值范围：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| x-obs-storage-class           | String    | **参数解释：** 桶的默认存储类型。 **取值范围：** - STANDARD：标准存储  - WARM：低频访问存储  - COLD：归档存储  - DEEP_ARCHIVE：深度归档存储                                                                                                                                                                     |
| x-obs-version                 | String    | **参数解释：** 桶所在的OBS服务版本号。 **取值范围：** - 3.0：最新版本的桶。  - --：表示老版本的桶。                                                                                                                                                                                                                                                                                                                                                                             |
| x-obs-fs-file-interface       | String    | **参数解释：** 判断是否为并行文件系统。不携带此头域表示不属于并行文件系统。 **取值范围：** 取值包含Enabled（并行文件系统）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| x-obs-epid                    | String    | **参数解释：** 当前桶的企业项目ID，开通企业项目的用户可以从企业项目服务获取。格式为uuid，未开通企业项目的用户可以不带该头域。企业项目ID获取方式请参见[如何获取企业项目ID](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html) 。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| x-obs-az-redundancy           | String    | **参数解释：** 桶的数据冗余存储策略属性，即AZ类型。 取值为3az，表示数据冗余存储在同一区域的多个可用区。 不携带此头域表示为单az存储，仅使用1个可用区存储。 **约束限制：** 归档存储和深度归档存储不支持多AZ。如果桶所在区域不支持多AZ存储，则该桶的存储类型默认为单AZ。 **取值范围：** 如果桶配置为多AZ，则返回值为"3az"。如果桶配置为单AZ，则返回值为None。 **默认取值：** 无                                                                                                                                                                                           |
| Access-Control-Allow-Origin   | String    | **参数解释：** 当桶设置了CORS配置，如果请求的Origin满足服务端的CORS配置，则在响应中包含这个Origin。 **取值范围：** 符合CORS协议的取值范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Access-Control-Allow-Headers  | String    | **参数解释：** 当桶设置了CORS配置，如果请求的headers满足服务端的CORS配置，则在响应中包含这个headers。 **取值范围：** 符合CORS协议的取值范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Access-Control-Max-Age        | Integer   | **参数解释：** 当桶设置了CORS配置，服务端CORS配置中的MaxAgeSeconds。 **取值范围：** 大于等于0的整型数，单位：秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Access-Control-Allow-Methods  | String    | **参数解释：** 当桶设置了CORS配置，如果请求的Access-Control-Request-Method满足服务端的CORS配置，则在响应中包含这条rule中的Methods。 **取值范围：** - GET：获取对象  - PUT：上传对象  - HEAD：获取对象元数据  - POST：表单上传对象  - DELETE：删除对象   |
| Access-Control-Expose-Headers | String    | **参数解释：** 桶CORS规则中的ExposeHeader。ExposeHeader是指CORS规则允许响应中可返回的附加头域，给客户端提供额外的信息。组成字符支持\*、\&、:、\<、空格以及中文字符。默认情况下浏览器只能访问以下头域：Content-Length、Content-Type，如果需要访问其他头域，需要在附加头域中配置。 **取值范围：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| x-obs-ies-location            | String    | **参数解释：** 当桶是CloudPond的桶时返回此头域，头域值为CloudPond站点的AZ Id。不携带此头域表示不是CloudPond桶。 **取值范围：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| x-obs-edge-location           | String    | **参数解释：** 当桶是智能边缘云的桶时返回此头域，头域值为智能边缘云站点的AZ Id。不携带此头域表示不是IEC桶。 **取值范围：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
#### 响应体 (Response Body)
本接口的响应消息中不携带响应体。
#### 错误响应消息
无特殊错误，所有错误已经包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例：未携带获取CORS配置
```
HEAD / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 02:30:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:niCQCuGIZpETKIyx1datxHZyYlk=
```
#### 响应示例：未携带获取CORS配置
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016439C734E0788404623FA8
Content-Type: application/xml
x-obs-storage-class: STANDARD
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSxwLpq9Hzf3OnaXr+pI/OPLKdrtiQAF
Date: Wed, 01 Jul 2015 02:30:25 GMT
x-obs-bucket-location: cn-north-4
x-obs-version: 3.0
Content-Length: 0
```
#### 请求示例：桶设置了CORS后，获取桶元数据和CORS配置
```
HEAD / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 02:30:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:niCQCuGIZpETKIyx1datxHZyYlk=
Origin:www.example.com
Access-Control-Request-Headers:AllowedHeader_1
```
#### 响应示例：桶设置了CORS后，获取桶元数据和CORS配置
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016439C734E0788404623FA8
Content-Type: application/xml
x-obs-storage-class: STANDARD
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSxwLpq9Hzf3OnaXr+pI/OPLKdrtiQAF
Date: Wed, 01 Jul 2015 02:30:25 GMT
x-obs-bucket-location: cn-north-4
Access-Control-Allow-Origin: www.example.com 
Access-Control-Allow-Methods: POST,GET,HEAD,PUT 
Access-Control-Allow-Headers: AllowedHeader_1 
Access-Control-Max-Age: 100 
Access-Control-Expose-Headers: ExposeHeader_1 
x-obs-version: 3.0
Content-Length: 0
```
#### 使用SDK调用接口
建议您使用OBS SDK调用接口。SDK对API进行了封装以简化您的开发工作，直接调用SDK接口函数即可访问OBS，无需手动计算签名。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0405.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0807.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0305.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0305.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0304.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0409.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0401.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0305.html) | [Harmony](https://support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0307.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0305.html) |
|---|---|---|---|---|---|---|---|---|---|
   
#### 相关文档
- 了解更多元数据相关介绍，请参见[配置、编辑、查看对象元数据](https://support.huaweicloud.com/usermanual-obs/obs_03_0324.html)。
- API操作涉及的计费项参见[计费项](https://support.huaweicloud.com/price-obs/obs_42_0002.html)。
 
