# 更新文件系统淘汰策略 - UpdateTargetEvictionStrategies
#### 功能介绍
- SFS Turbo文件系统绑定后端存储后，淘汰策略默认开启。SFS Turbo文件系统数据支持按容量淘汰或按时间淘汰。
  
- 按容量淘汰：SFS Turbo文件系统的容量使用率到达上水位时开始淘汰冷数据，并将SFS Turbo文件系统的容量使用率清理到下水位。如果您将容量使用率的上水位设置为101，下水位设置为100，则不会触发按容量淘汰。如果文件系统的容量使用率达到上水位，但是没有指定时间内未被访问的冷数据，则不会触发淘汰，直到出现满足条件的冷数据才会触发淘汰。
  
- 按时间淘汰：设定时间内没有被访问过的文件均会被淘汰。如果您将数据距上次访问的时长设置为6000000000，则不会触发按时间淘汰。
  
- 在按容量淘汰和按时间淘汰类型中，哪一个类型的条件先满足，就优先以该类型执行淘汰操作。
  
 
#### 接口约束
- 该接口仅支持已绑定后端存储的文件系统。
  
- 该接口仅适用于100MB/s/TiB-智算型、200MB/s/TiB-智算型文件系统。
  
- 该接口仅适用于NFS文件系统共享协议。
  
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SFSTurbo/doc?api=UpdateTargetEvictionStrategies)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-sfsturbo/sfsturbo_02_0079.html)。
#### URI
PUT /v1/{project_id}/sfs-turbo/shares/{share_id}/target-eviction-strategies
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。   |
| share_id   | 是    | String | 文件系统ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 账号的token。 |
| Content-Type | 是    | String | MIME类型。   |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| type              | 是    | String                                                                               | **参数解释** 淘汰策略类型。 **约束限制** 不涉及。 **取值范围** - capacity：表示按容量淘汰。   - time：表示按时间淘汰。    **默认取值** 不涉及。 |
| eviction_strategy | 是    | [EvictionStrategy] object | **参数解释** 文件系统淘汰策略。 **约束限制** 不涉及。 **取值范围** 不涉及。 **默认取值** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表4EvictionStrategy 
| 参数                         | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| capacity_usage_watermark   | 否    | [CapacityUsageWatermark] object | **参数解释** 容量使用率水位。 **约束限制** 该参数仅支持按容量淘汰，即type为"capacity"。 **取值范围** 不涉及。 **默认取值** 不涉及。                                                                                                                                                                                                                                  |
| duration_since_last_access | 否    | Integer                                                                                          | **参数解释** 数据距上次访问的时长，单位：分钟。 **约束限制** 不涉及。 **取值范围** 按容量淘汰时，取值范围是\[11,6000000000\]。 按时间淘汰时，取值范围是\[60,6000000000\]，同时必须是60的倍数。 **默认取值** 按容量淘汰时，默认值是30，表示30分钟内没有被访问过的数据即为冷数据。 按时间淘汰时，默认值是3600，表示3600分钟内没有被访问过的数据即为冷数据。 |
   
 表5CapacityUsageWatermark 
| 参数   | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| high | 否    | Integer | **参数解释** 容量使用率上水位，SFS Turbo文件系统的容量使用率到达上水位即会开始淘汰冷数据。 **约束限制** 该参数仅支持按容量淘汰，即type为"capacity"。 **取值范围** \[0,101\] **默认取值** 95            |
| low  | 否    | Integer | **参数解释** 容量使用率下水位，触发淘汰后会将SFS Turbo文件系统的容量使用率清理到下水位。 **约束限制** 该参数仅支持按容量淘汰，即type为"capacity"。 **取值范围** \[0,100\]。下水位必须小于上水位。 **默认取值** 85 |
   
#### 响应参数
**状态码：200**
表6响应Header参数 
| 参数           | 参数类型   | 描述   |
|:---|:---|:---|
| X-request-id | String | 请求ID |
   
表7响应Body参数 
| 参数                | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| type              | String                                                                                | **参数解释** 淘汰策略类型。 **取值范围** - capacity：表示按容量淘汰。   - time：表示按时间淘汰。    |
| eviction_strategy | [EvictionStrategy] object | **参数解释** 文件系统淘汰策略。 **取值范围** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表8EvictionStrategy 
| 参数                         | 参数类型                                                                                              | 描述                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| capacity_usage_watermark   | [CapacityUsageWatermark] object | **参数解释** 容量使用率水位。 **取值范围** 不涉及。                                                                                                                                |
| duration_since_last_access | Integer                                                                                           | **参数解释** 数据距上次访问的时长，单位：分钟。 **取值范围** 按容量淘汰时，取值范围是\[11,6000000000\]。 按时间淘汰时，取值范围是\[60,6000000000\]，同时必须是60的倍数。 |
   
 表9CapacityUsageWatermark 
| 参数   | 参数类型    | 描述                                                                                                                                                                                                                                       |
|:---|:---|:---|
| high | Integer | **参数解释** 容量使用率上水位，SFS Turbo文件系统的容量使用率到达上水位即会开始淘汰冷数据。 **取值范围** \[0,101\]            |
| low  | Integer | **参数解释** 容量使用率下水位，触发淘汰后会将SFS Turbo文件系统的容量使用率清理到下水位。 **取值范围** \[0,100\]。下水位必须小于上水位。 |
   
**状态码：400**
表10响应Body参数 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| errCode | String | 错误码  |
| errMsg  | String | 错误描述 |
   
**状态码：500**
表11响应Body参数 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| errCode | String | 错误码  |
| errMsg  | String | 错误描述 |
   
#### 请求示例
- 更新SFS Turbo文件系统的按容量淘汰策略。
  ```
  {
    "type" : "capacity",
    "eviction_strategy" : {
      "duration_since_last_access" : 30,
      "capacity_usage_watermark" : {
        "high" : 95,
        "low" : 85
      }
    }
  }
  ```
  
- 更新SFS Turbo文件系统的按时间淘汰策略。
  ```
  {
    "type" : "time",
    "eviction_strategy" : {
      "duration_since_last_access" : 3600
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
成功
- 更新文件系统按容量淘汰策略的响应示例。
  ```
  {
    "type" : "capacity",
    "eviction_strategy" : {
      "duration_since_last_access" : 30,
      "capacity_usage_watermark" : {
        "high" : 95,
        "low" : 85
      }
    }
  }
  ```
  
- 更新文件系统按时间淘汰策略的响应示例。
  ```
  {
    "type" : "time",
    "eviction_strategy" : {
      "duration_since_last_access" : 3600
    }
  }
  ```
  
**状态码：400**
错误响应
```
{
  "errCode" : "SFS.TURBO.0001",
  "errMsg" : "parameter error"
}
```
**状态码：500**
错误响应
```
{
  "errCode" : "SFS.TURBO.0005",
  "errMsg" : "Internal server error"
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 成功   |
| 400 | 错误响应 |
| 500 | 错误响应 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-sfsturbo/ErrorCode.html)。
