
# 创建处理任务
#### 功能介绍
创建处理任务，支持创建"特征分析"任务和"数据处理"两大类任务。可通过指定请求体中的复合参数"template"的"id"字段来创建某类任务。
- "特征分析"是指基于图片或目标框对图片的各项特征，如模糊度、亮度进行分析，并绘制可视化曲线，帮助处理数据集。
  
- "数据处理"是指从大量的、杂乱无章的、难以理解的数据中抽取或者生成对某些特定的人们来说是有价值、有意义的数据。"数据处理"又分为"数据校验"、"数据清洗"、"数据选择"和"数据增强"四类。
  - "数据校验"表示对数据集进行校验，保证数据合法。
    
  
  - "数据清洗"表示对数据进行去噪、纠错或补全的过程。
    
  
  - "数据选择"表示从全量数据中选择数据子集的过程。
    
  
  - "数据增强"表示通过简单的数据扩增例如缩放、裁剪、变换、合成等操作直接或间接的方式增加数据量。
    
   
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=CreateProcessorTask)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/{project_id}/processor-tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | 用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 |
   
#### 请求参数
表2请求Body参数 
| 参数             | 是否必选 | 参数类型                                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| create_version | 否    | Boolean                                                                                            | 创建任务时是否同步创建一个任务版本。该参数仅创建数据处理任务时需要设为"true"，其他类型任务均设为"false"或不设。可选值如下： - true：创建任务时同步创建一个任务版本   - false：创建任务时不创建任务版本（默认值）    |
| data_source    | 否    | [ProcessorDataSource] object           | 数据来源，与inputs二选一。数据源路径不支持设置为KMS加密桶中的OBS路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| description    | 否    | String                                                                                             | 数据处理任务描述，长度为0-256位，不能包含\^!\<\>=\&"'特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| inputs         | 否    | Array of [ProcessorDataSource] objects | 数据来源列表，与data_source二选一。数据源路径不支持设置为KMS加密桶中的OBS路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| name           | 是    | String                                                                                             | 数据处理任务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| template       | 是    | [TemplateParam] object                       | 数据处理模板，如算法ID和参数等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| version_id     | 否    | String                                                                                             | 数据集版本ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| work_path      | 否    | [WorkPath] object                                 | 数据处理任务的工作目录。工作目录不支持设置为KMS加密桶中的OBS路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| workspace_id   | 否    | String                                                                                             | 工作空间ID。未创建工作空间时默认值为"0"，存在创建并使用的工作空间，以实际取值为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表3ProcessorDataSource 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| name         | 否    | String | 数据集的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| source       | 否    | String | 数据源所在路径。可选值如下： - 如果type是OBS，source为OBS路径。   - 如果type是TASK，source为任务ID。   - 如果type是DATASET，source为数据集ID。   - 如果type是CUSTOM且是资源租户调用，source为真实用户的project_id, 否则不需要这个字段。    |
| type         | 否    | String | 数据源类型。可选值如下： - OBS：数据来源于OBS   - TASK：数据处理任务   - DATASET：数据集   - CUSTOM：资源租户调用                                                                                   |
| version_id   | 否    | String | 数据集的版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| version_name | 否    | String | 数据集的版本名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表4TemplateParam 
| 参数              | 是否必选 | 参数类型                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| id              | 否    | String                                                                                 | 任务类型，即数据处理模板ID。可选值如下： - sys_data_analyse：特征分析   - sys_data_cleaning：数据清洗   - sys_data_augmentation：数据增强   - sys_data_validation：数据校验   - sys_data_selection：数据筛选    |
| name            | 否    | String                                                                                 | 模板名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| operator_params | 否    | Array of [OperatorParam] objects | 算子的参数列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表5OperatorParam 
| 参数                     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| advanced_params_switch | 否    | Boolean | 高级参数开关。                                                                                                                                                                                                                                                      |
| id                     | 否    | String  | 算子ID。                                                                                                                                                                                                                                                        |
| name                   | 否    | String  | 算子名称。                                                                                                                                                                                                                                                        |
| params                 | 否    | Object  | 算子参数，参数类型是map\<string,object\>，object目前只支持Boolean、Integer、Long、String、List\[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""}) (br\]、Map\<String,String\>类型。对于数据预处理任务比较特殊的两个场景物体检测和图像分类，键"task_type"对应的值为"object_detection"或"image_classification"。 |
   
 表6WorkPath 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| name         | 否    | String | 数据集的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| output_path  | 否    | String | 输出路径，例如/datasets/demo。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| path         | 否    | String | 工作路径。可选值如下： - 如果type是OBS，source为OBS路径。   - 如果type是DATASET，source为数据集ID。    |
| type         | 否    | String | 工作路径的类型。可选值如下： - OBS：OBS路径   - DATASET：数据集                         |
| version_id   | 否    | String | 数据集的版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| version_name | 否    | String | 数据集的版本名称，名称仅包含数字、字母、中划线和下划线，长度是0-32位。                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
#### 响应参数
**状态码： 200**
表7响应Body参数 
| 参数      | 参数类型   | 描述        |
|:---|:---|:---|
| task_id | String | 数据处理任务ID。 |
   
#### 请求示例
- 创建特征分析任务。设置任务类型为"sys_data_analyse"。
  ```
  {
    "name" : "V001",
    "description" : "",
    "data_source" : {
      "type" : "DATASET",
      "source" : "X6c3N3eztX7cr3Arvqu"
    },
    "template" : {
      "id" : "sys_data_analyse",
      "operator_params" : [ {
        "id" : "sys_data_analyse",
        "params" : {
          "op_list" : [ ]
        }
      } ]
    },
    "version_id" : "J4Eh2FDEWH1qnDlD3hQ"
  }
  ```
  
- 创建数据处理（数据校验）任务。设置任务类型为"sys_data_validation"。
  ```
  {
    "name" : "PRE-e77c",
    "inputs" : [ {
      "type" : "DATASET",
      "source" : "PYc9H2HGv5BJNwBGXyK",
      "version_id" : "yoJ5ssClpNlOrsjjFDa"
    } ],
    "work_path" : {
      "type" : "DATASET",
      "path" : "PYc9H2HGv5BJNwBGXyK",
      "version_name" : "V0010"
    },
    "description" : "",
    "create_version" : true,
    "template" : {
      "id" : "sys_data_validation",
      "operator_params" : [ {
        "name" : "MetaValidation",
        "advanced_params_switch" : false,
        "params" : {
          "task_type" : "image_classification",
          "dataset_type" : "manifest",
          "source_service" : "select",
          "filter_func" : "data_validation_select",
          "image_max_width" : "1920",
          "image_max_height" : "1920",
          "total_status" : "[0,1,2]"
        }
      } ]
    },
    "workspace_id" : "0"
  }
  ```
  
- 创建数据处理（数据清洗）任务。设置任务类型为"sys_data_cleaning"。
  ```
  {
    "name" : "PRE-330f",
    "inputs" : [ {
      "type" : "DATASET",
      "source" : "gfghHSokody6AJigS5A",
      "version_id" : "54IXbeJhfttGpL46lbv"
    } ],
    "work_path" : {
      "type" : "DATASET",
      "path" : "gfghHSokody6AJigS5A",
      "version_name" : "V004"
    },
    "description" : "",
    "create_version" : true,
    "template" : {
      "id" : "sys_data_cleaning",
      "operator_params" : [ {
        "name" : "PCC",
        "advanced_params_switch" : false,
        "params" : {
          "task_type" : "image_classification",
          "dataset_type" : "manifest",
          "source_service" : "select",
          "filter_func" : "data_cleaning_select",
          "prototype_sample_path" : "obs://test-obs/classify/data/animals/",
          "criticism_sample_path" : "",
          "n_clusters" : "auto",
          "simlarity_threshold" : "0.9",
          "embedding_distance" : "0.2",
          "checkpoint_path" : "/home/work/user-job-dir/test-lxm/resnet_v1_50",
          "total_status" : "[0,2]",
          "do_validation" : "True"
        }
      } ]
    },
    "workspace_id" : "0"
  }
  ```
  
- 创建数据处理（数据筛选）任务。设置任务类型为"sys_data_selection"。
  ```
  {
    "name" : "PRE-aae5",
    "inputs" : [ {
      "type" : "DATASET",
      "source" : "gLNSdlQ1iAAmPgl0Won",
      "version_id" : "WAVPSYpKE3FggbgRxiK"
    } ],
    "work_path" : {
      "type" : "DATASET",
      "path" : "gLNSdlQ1iAAmPgl0Won",
      "version_name" : "V003"
    },
    "description" : "",
    "create_version" : true,
    "template" : {
      "id" : "sys_data_selection",
      "operator_params" : [ {
        "name" : "SimDeduplication",
        "advanced_params_switch" : false,
        "params" : {
          "task_type" : "image_classification",
          "dataset_type" : "manifest",
          "source_service" : "select",
          "filter_func" : "data_deduplication_select",
          "simlarity_threshold" : "0.9",
          "total_status" : "[0,2]",
          "do_validation" : "True"
        }
      } ]
    },
    "workspace_id" : "0"
  }
  ```
  
- 创建数据处理（数据增强）任务。设置任务类型为"sys_data_augmentation"。
  ```
  {
    "name" : "PRE-637c",
    "inputs" : [ {
      "type" : "DATASET",
      "source" : "XGrRZuCV1qmMxnsmD5u",
      "version_id" : "kjPDTOSi6BQqhtXZlFv"
    } ],
    "work_path" : {
      "type" : "DATASET",
      "path" : "XGrRZuCV1qmMxnsmD5u",
      "version_name" : "V002"
    },
    "description" : "",
    "create_version" : true,
    "template" : {
      "id" : "sys_data_augmentation",
      "operator_params" : [ {
        "name" : "AddNoise",
        "advanced_params_switch" : false,
        "params" : {
          "task_type" : "image_classification",
          "dataset_type" : "manifest",
          "noise_type" : "Gauss",
          "loc" : "0",
          "scale" : "1",
          "lam" : "2",
          "p" : "0.01",
          "total_status" : "[3]",
          "filter_func" : "data_augmentation",
          "do_validation" : "True"
        }
      } ]
    },
    "workspace_id" : "0"
  }
  ```
  
 
#### 响应示例
**状态码： 200**
OK
```
{
  "task_id" : "SNEJua7qdZZN8GvkcEr"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | OK           |
| 401 | Unauthorized |
| 403 | Forbidden    |
| 404 | Not Found    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
