
# 获取桶的多版本状态-GetBucketVersioning
#### 功能介绍
可通过本接口获取桶的多版本状态，如果从未设置桶的多版本状态，则此操作不会返回桶的多版本状态，而是返回空响应体。了解更多多版本控制相关信息，请参见[多版本控制](https://support.huaweicloud.com/usermanual-obs/obs_03_0327.html)。
#### 接口约束
- 多版本控制一旦启动，不可关闭，只能暂停使用。
- 开启了桶级[WORM](https://support.huaweicloud.com/usermanual-obs/obs_03_0718.html)开关，需要先开启多版本控制。使用控制台配置WORM时，控制台会自动开启多版本，并且不允许暂停多版本。使用API配置WORM时，需要您自行调用[设置桶的多版本状态](https://support.huaweicloud.com/api-obs/obs_04_0037.html)接口开启多版本。
- 不支持对历史版本对象配置ACL、服务端加密和标签。
 
#### 授权信息
您必须是桶拥有者或拥有获取桶的多版本状态的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:GetBucketVersioning** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:GetBucketVersioning** 权限，具体操作请参见[自定义创建桶策略](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=GetBucketVersioning)在线调试接口。
#### 请求消息样式
```
GET /?versioning HTTP/1.1 
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: date
Authorization: authorization
```
#### URI参数（URI Parameters）
该请求消息中不使用消息参数。
#### 请求头参数（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
<VersioningConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> 
    <Status>status</Status> 
</VersioningConfiguration>
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
该请求的响应中以消息元素的形式返回桶的多版本状态，元素的具体意义如[表1]所示。
 表1响应体 
| 参数名称                    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| VersioningConfiguration | XML    | **参数解释：** 多版本配置的根节点，是Status的父节点。 **取值范围：** 不涉及                                                                                                                                                                                                                                                |
| Status                  | String | **参数解释：** 标识桶的多版本状态。 **取值范围：** - Enabled：开启多版本控制  - Suspended：暂停多版本控制   |
   
#### 错误响应消息
无特殊错误，所有错误已包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例
```
GET /?versioning HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 03:15:20 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:4N5qQIoluLO9xMY0m+8lIn/UWXM=
```
#### 响应示例
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016436BBA4930622B4FC9F17
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSQIrNJ5/Ag6EPN8DAwWlPWgBc/xfBnx
Content-Type: application/xml
Date: Wed, 01 Jul 2015 03:15:20 GMT
Content-Length: 180
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VersioningConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
  <Status>Enabled</Status>
</VersioningConfiguration>
```
#### 使用SDK调用接口
建议您使用OBS SDK调用接口。SDK对API进行了封装以简化您的开发工作，直接调用SDK接口函数即可访问OBS，无需手动计算签名。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_1003.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0828.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0803.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0430.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0903.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0803.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0803.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0803.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0803.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0803.html) | [Harmony](https://support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0328.html) |
|---|---|---|---|---|---|---|---|---|---|---|
   
#### 相关文档
- 了解更多多版本状态相关信息，请参见[多版本控制](https://support.huaweicloud.com/usermanual-obs/obs_03_0327.html)。
- API操作涉及的计费项参见[计费项](https://support.huaweicloud.com/price-obs/obs_42_0002.html)。
 
