# 设置桶归档存储对象直读策略-SetDirectcoldaccess
#### 功能介绍
对象直读是指用户可以不用恢复归档存储对象，便能直接对其进行操作。了解更多归档存储数据直读相关信息，请参见[归档数据直读](https://support.huaweicloud.com/usermanual-obs/obs_03_0143.html)。
#### 授权信息
您必须是桶拥有者或拥有设置桶归档存储对象直读策略的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:PutDirectColdAccessConfiguration** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:bucket:putDirectColdAccessConfiguration** 权限，授权操作请参见[创建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:putDirectColdAccessConfiguration        | Write                                                      | 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:putDirectColdAccessConfiguration        | Write                                                      | -                                                                             | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                          | -                                                  |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:PutDirectColdAccessConfiguration** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
PUT /
#### 调用方法
请参见[如何调用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=SetDirectcoldaccess)在线调试接口。
#### 请求消息样式
以下为请求消息样例，请将示例中的*BucketName* 修改为您的桶名，*RegionID* 修改为桶所在的区域ID，可参考[支持区域](https://console.huaweicloud.com/apiexplorer/#/endpoint/OBS)获取区域ID。
```
PUT /?directcoldaccess HTTP/1.1 
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Date: GMT Date
Authorization: SignatureValue
Content-MD5: MD5
Content-Length: BodyLength
<DirectColdAccessConfiguration>     
    <Status>status</Status> 
</DirectColdAccessConfiguration>
```
#### URI参数（URI Parameters）
表1URI参数 
| 参数               | 是否必选 | 参数类型  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| directcoldaccess | 是   | String | **参数解释**： 用于标识API接口与归档直读有关。 **约束限制**： 计算签名时，请在CanonicalizedResource中添加"/*BucketName* /?directcoldaccess"，详情参见[签名计算](https://support.huaweicloud.com/api-obs/obs_04_0010.html)。 **取值范围**： directcoldaccess **默认取值**： 不涉及 |
   
#### 请求头参数（Request headers）
该请求使用的消息头如[表2]所示。
 表2请求头参数 
| 参数名称       | 是否必选 | 参数类型     | 描述                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| Content-MD5 | 是     | String | **参数解释：** 按照RFC 1864标准计算出消息体的MD5摘要字符串，即消息体128bit MD5值经过base64编码后得到的字符串。 示例：n58IG6hfM7vqI4K0vnWpog== **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求体参数（Request body）
在此请求中，需要在请求的消息体中配置桶的归档存储对象直读状态，配置信息以XML格式上传。具体的配置元素如[表3]所示。
 表3桶的归档存储对象直读请求体参数 
| 参数名称                             | **是否必选** | 参数类型        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| DirectColdAccessConfiguration | 是         | Container | **参数解释：** 归档存储对象直读配置的根元素，包含Status子元素。 **约束限制：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                       |
| Status                          | 是         | String  | **参数解释：** 标识桶的归档存储对象直读状态。 **约束限制：** 不涉及 **取值范围：** - Enabled：开启桶归档存储对象直读策略。  - Disabled：未开启桶归档存储对象直读策略。   **默认取值：** 不涉及 |
   
#### 响应消息样式
```
HTTP/1.1 status_code
Date: GMT Date
Content-Length: BodyLength
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
本接口的响应消息中不携带响应体。
#### 错误响应消息
此请求可能的特殊错误如下[表4]描述。
 表4错误响应消息 
| 错误码           | 描述                                   | HTTP状态码        |
|:---|:---|:---|
| AccessDenied       | 执行者不是桶的所有者，或者还未被授权PutBucketNotification权限。 | 403 Forbidden       |
| NoSuchBucket | 桶不存在                                   | 404 Not Found |
   
其他所有错误已经包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例
```
PUT /?directcoldaccess HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Date: Fri, 26 Apr 2019 07:37:36 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=
Content-MD5: h4A//0EKGFKAwJkH231A==
Content-Length: 92
<DirectColdAccessConfiguration>
    <Status>Enabled</Status>
</DirectColdAccessConfiguration>
```
#### 响应示例
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 0000016A58940244809DEF00122E6802
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCStOlo1yxthHHo2GlS3WGgt1ekAIh3Vy
Date: Fri, 26 Apr 2019 07:37:36 GMT
Content-Length: 0
```
#### 相关文档
- 了解更多归档数据直读相关信息，请参见[归档数据直读](https://support.huaweicloud.com/usermanual-obs/obs_03_0143.html)。
- API操作涉及的计费项参见[计费项](https://support.huaweicloud.com/price-obs/obs_42_0002.html)。
 
