# 编辑算法 - UpdateAlgorithmsBigdata
#### 功能介绍
编辑算法
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dsc/dsc_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dsc/dsc_02_0031.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
PUT /v1/{project_id}/sdg/server/mask/algorithms/{algorithm_id}
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| project_id   | 是    | String | **参数解释：** 项目ID。可参考获取项目ID获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，长度为32个字符，满足正则匹配"\^\[a-z0-9\]{32}$" **默认取值：** 不涉及 |
| algorithm_id | 是    | String | **参数解释：** 算法ID，标识需要编辑的脱敏算法，可通过查询脱敏算法列表接口获取 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                               |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，用于接口请求的身份认证。通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| algorithm_id   | 否    | String | **参数解释：** 算法ID，标识脱敏算法，可通过查询脱敏算法列表接口获取 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| algorithm_name | 否    | String | **参数解释：** 算法名称 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| algorithm_type | 否    | String | **参数解释：** 算法类型，标识脱敏算法的具体类型 **约束限制：** 不涉及 **取值范围：** - MASK_BY_HASH：哈希脱敏   - MASK_BY_ENCRYPT：加密脱敏   - MASK_BY_OVERWRITE：字符掩盖脱敏   - MASK_BY_KEYWORDS_EXCHANGE：关键字交换脱敏   - MASK_BY_NULL：置空脱敏   - MASK_BY_BRIEF：截断脱敏   - MASK_BY_DECRYPT：解密脱敏   - MASK_BY_FAKE：伪造脱敏    **默认取值：** 不涉及 |
| algorithm      | 否    | String | **参数解释：** 脱敏算法的表达式或配置内容，用于定义具体的脱敏规则 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| parameter      | 否    | String | **参数解释：** 脱敏算法的配置参数，用于指定脱敏规则的具体参数值 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| category       | 否    | String | **参数解释：** 类别 **约束限制：** 不涉及 **取值范围：** BUILT_IN-内置，BUILT_IN_COPY-内置复制，BUILT_SELF-自定义 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| data           | 否    | String | **参数解释：** 待脱敏的原始数据样本，用于算法测试或预览脱敏效果 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| processed_data | 否    | String | **参数解释：** 脱敏后数据 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| status | String | **参数解释：** 请求处理状态，标识任务的执行结果 **取值范围：** - success：成功   - failed：失败    |
| msg    | String | **参数解释：** 提示信息 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| id     | String | **参数解释：** 被删除的水印嵌入任务对应的资源ID **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 请求示例
编辑算法
```
{
  "algorithm_id" : "0b02392f3d0042bd8f80376485d9b7d8",
  "algorithm_name" : "algorithm-finance-01",
  "algorithm_type" : "MASK_BY_HASH",
  "algorithm" : "SHA256",
  "parameter" : "param-value",
  "category" : "BUILT_IN",
  "data" : "example-data",
  "processed_data" : "example-value"
}
```
#### 响应示例
**状态码：200**
```
{
  "status" : "success",
  "msg" : "编辑算法成功",
  "id" : "9f2a3b4c-5d6e-4f7a-8b9c-0d1e2f3a4b5c"
}
```
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 编辑算法成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dsc/ErrorCode.html)。
