
# 创建数据集-CreateDataset
#### 功能介绍
创建数据集
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-octopus/Permission.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                    | 访问级别  | 资源类型（\*为必须）  | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | octopus:dataset:create | Write | workspace \* | -   | -  | -      |
     
  
 
#### URI
POST /v1.0/{project_id}/common/datasets
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-octopus/octopus-10-0020.html)。 **约束限制**： 不涉及 **取值范围**： 只能用小写字母 a-z 和数字 0-9组成，且长度为32个字符 **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| Content-Type | 是    | String | **参数解释**： 内容类型。填application/json **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                               |
| X-Auth-Token | 是    | String | **参数解释**： 用户Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| name              | 是    | String                                                                                       | **参数解释**： 数据集名称 **约束限制**： 不涉及 **取值范围**： 只能用中文字符、大小写英文字母、数字、"_"、"-"组成，且长度为\[1\~64\]个字符 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| data_type         | 是    | String                                                                                       | **参数解释**： 数据集数据类型 **约束限制**： 不涉及 **取值范围**： - IMAGE：图片   - POINT_CLOUD：点云   - TEXT：文本   - VIDEO：视频   - AUDIO：音频   - CUSTOM：自定义    **默认取值**： 不涉及 |
| dataset_form      | 是    | String                                                                                       | **参数解释**： 数据集形式 **约束限制**： 不涉及 **取值范围**： - DATASET：数据集   - SUBSET：子集    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| source_dataset_id | 否    | String                                                                                       | **参数解释**： 子集的源数据集id **约束限制**： 当dataset_form取值为SUBSET时必填，源数据集需存在已发布的版本才能创建子集 **取值范围**： 标准36位带横杠、小写UUID **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| data_source       | 是    | String                                                                                       | **参数解释**： 数据集来源 **约束限制**： 不涉及 **取值范围**： - LABEL：标注任务   - OBS：obs   - HOUSE：通用存储   - DATASET：数据集    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                         |
| description       | 否    | String                                                                                       | **参数解释**： 描述 **约束限制**： 不涉及 **取值范围**： 不包含\\ @ # $ %\^ \& \* \< \> 且长度为\[0\~256\] **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| label_format      | 是    | String                                                                                       | **参数解释**： 标注格式 **约束限制**： 不涉及 **取值范围**： - OCTOPUS：OCTOPUS格式   - USER_DEFINE：自定义格式    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| data_source_info  | 是    | [DataSourceInfoRequest] object | **参数解释**： 数据集来源信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| label_taged       | 否    | Boolean                                                                                      | **参数解释**： 是否是从标注服务创建的数据集 **约束限制**： 不涉及 **取值范围**： - true：是   - false：否    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| workspace_id      | 是    | String                                                                                       | **参数解释**： 工作空间id **约束限制**： 小写带横杠UUID或小写无横杠UUID或单个0 **取值范围**： - true：是   - false：否    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表4DataSourceInfoRequest 
| 参数                         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| label_project_package_id   | 否    | String | **参数解释**： 任务项目包ID **约束限制**： 数据集来源(data_source)为标注(LABEL)，必填 **取值范围**： 标准36位带横杠、小写UUID **默认取值**： 不涉及                              |
| label_project_package_name | 否    | String | **参数解释**： 任务项目包名称 **约束限制**： 数据集来源(data_source)为标注(LABEL)，必填 **取值范围**： 只能用中文字符、大小写英文字母、数字、"-"、"."组成，且长度为\[0\~64\]个字符 **默认取值**： 不涉及 |
| data_warehouse_id          | 否    | String | **参数解释**： 通用存储ID **约束限制**： 数据集来源(data_source)为通用存储(HOUSE)，必填 **取值范围**： 标准36位带横杠、小写UUID **默认取值**： 不涉及                                 |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数        | 参数类型                                                                                        | 描述                                                            |
|:---|:---|:---|
| payload   | [CreateDatasetPayload] object | **参数解释**： 实际返回信息 |
| meta_info | [MetaInfo] object                         | **参数解释**： 元数据  |
   
 表6CreateDatasetPayload 
| 参数   | 参数类型                                                                                    | 描述                                                             |
|:---|:---|:---|
| item | [LabelDatasetCreate] object | **参数解释**： 数据集信息 |
   
 表7LabelDatasetCreate 
| 参数                | 参数类型                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| id                | String                                                                                      | **参数解释**： 数据集id **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| name              | String                                                                                      | **参数解释**： 名称 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description       | String                                                                                      | **参数解释**： 描述 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| data_type         | String                                                                                      | **参数解释**： 数据类型 **取值范围**： - IMAGE：图片   - POINT_CLOUD：点云   - TEXT：文本   - VIDEO：视频   - AUDIO：音频   - CUSTOM：自定义    |
| dataset_form      | String                                                                                      | **参数解释**： 数据集形式 **取值范围**： - DATASET：数据集   - SUBSET：子集                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| source_dataset_id | String                                                                                      | **参数解释**： 子集的源数据集ID **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| latest_version    | Integer                                                                                     | **参数解释**： 最新版本 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| data_source       | String                                                                                      | **参数解释**： 数据来源 **取值范围**： - LABEL：标注   - OBS   - HOUSE：通用存储   - DATASET：数据集                                                                                                                                                                                                                                                                                                                                                                      |
| frame_num         | Long                                                                                        | **参数解释**： 文件数 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| frame_size        | Long                                                                                        | **参数解释**： 数据集下版本帧文件总大小，单位字节 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| project_id        | String                                                                                      | **参数解释**： 项目id **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| workspace_id      | String                                                                                      | **参数解释**： 工作空间id **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| label_format      | String                                                                                      | **参数解释**： 标注格式 **取值范围**： - OCTOPUS：OCTOPUS格式   - USER_DEFINE：自定义格式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| label_count       | Long                                                                                        | **参数解释**： 标注物数量 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| label_names       | Array of strings                                                                            | **参数解释**： 标注物名                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| create_at         | Long                                                                                        | **参数解释**： 创建时间，UTC标准时间毫秒时间戳 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| update_at         | Long                                                                                        | **参数解释**： 修改时间，UTC标准时间毫秒时间戳 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| label_taged       | Boolean                                                                                     | **参数解释**： 标注数据集tag，已标注是true **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| data_source_info  | [DataSourceInfoCreate] object | **参数解释**： 数据相关信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| tags              | Array of strings                                                                            | **参数解释**： 标签                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| custom_attributes | Array of strings                                                                            | **参数解释**： 自定义属性，格式形如"key:value"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表8DataSourceInfoCreate 
| 参数                         | 参数类型   | 描述                                                                                                                                                                              |
|:---|:---|:---|
| label_project_package_id   | String | **参数解释**： 任务项目包ID **取值范围**： 不涉及 |
| label_project_package_name | String | **参数解释**： 任务项目包名称 **取值范围**： 不涉及 |
| data_warehouse_id          | String | **参数解释**： 通用存储ID **取值范围**： 不涉及  |
   
 表9MetaInfo 
| 参数           | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| current_time | String | **参数解释**： 请求时间，UTC时间格式，时间为UTC标准时间 **取值范围**： 不涉及 |
   
#### 请求示例
- 创建通用存储类型的数据集
  ```
  POST https://{endpoint}/v1.0/{project_id}/common/datasets
  {
    "name" : "数据集-通用存储",
    "description" : "测试数据集-通用存储",
    "label_format" : "OCTOPUS",
    "data_type" : "IMAGE",
    "dataset_form" : "DATASET",
    "data_source" : "HOUSE",
    "label_taged" : false,
    "data_source_info" : {
      "data_warehouse_id" : "data_warehouse_id"
    },
    "workspace_id" : 0
  }
  ```
  
- 创建标注类型的数据集
  ```
  POST https://{endpoint}/v1.0/{project_id}/common/datasets
  {
    "name" : "数据集-标注",
    "description" : "测试数据集-标注",
    "label_format" : "OCTOPUS",
    "data_type" : "IMAGE",
    "dataset_form" : "DATASET",
    "data_source" : "LABEL",
    "label_taged" : false,
    "data_source_info" : {
      "label_project_package_id" : "80da34ab-7f5e-476e-b2ec-1a974ba8a4a5",
      "label_project_package_name" : "test-车道线-test"
    },
    "workspace_id" : 0
  }
  ```
  
- 创建OBS类型的数据集
  ```
  POST https://{endpoint}/v1.0/{project_id}/common/datasets
  {
    "name" : "数据集-OBS",
    "description" : "测试数据集-OBS",
    "label_format" : "OCTOPUS",
    "data_type" : "IMAGE",
    "dataset_form" : "DATASET",
    "label_taged" : false,
    "data_source" : "OBS",
    "workspace_id" : 0
  }
  ```
  
- 创建子集
  ```
  POST https://{endpoint}/v1.0/{project_id}/common/datasets
  {
    "name" : "数据集-子集",
    "description" : "测试数据集-子集",
    "dataset_form" : "SUBSET",
    "data_source" : "DATASET",
    "source_dataset_id" : "d6f9fdf1-99b3-457d-934b-14cce3265124",
    "workspace_id" : 0
  }
  ```
  
 
#### 响应示例
**状态码：200**
创建成功
- 创建通用存储类型的数据集
  ```
  {
    "meta_info" : {
      "current_time" : "2024-01-02T02:04:22Z"
    },
    "payload" : {
      "item" : {
        "id" : "61a22ebc-49b3-40b5-b16f-ab9aebd2b231",
        "name" : "数据集-通用存储",
        "description" : "测试数据集-通用存储",
        "data_type" : "IMAGE",
        "dataset_form" : "DATASET",
        "latest_version" : 0,
        "data_source" : "HOUSE",
        "frame_num" : 0,
        "frame_size" : 0,
        "project_id" : "64d37c8f25af4277a1ff4ee9772687bf",
        "workspace_id" : 0,
        "label_format" : "OCTOPUS",
        "label_taged" : false,
        "label_count" : 0,
        "create_at" : 1701403312027,
        "update_at" : 1701403312027,
        "data_source_info" : {
          "data_warehouse_id" : "ee9784a5-dde5-4a47-a006-fac074c5bee8"
        }
      }
    }
  }
  ```
  
- 创建标注类型的数据集
  ```
  {
    "meta_info" : {
      "current_time" : "2024-01-02T02:04:22Z"
    },
    "payload" : {
      "item" : {
        "id" : "61a22ebc-49b3-40b5-b16f-ab9aebd2b231",
        "name" : "数据集-标注",
        "description" : "测试数据集-标注",
        "data_type" : "IMAGE",
        "dataset_form" : "DATASET",
        "latest_version" : 0,
        "data_source" : "LABEL",
        "frame_num" : 0,
        "frame_size" : 0,
        "project_id" : "64d37c8f25af4277a1ff4ee9772687bf",
        "workspace_id" : 0,
        "label_format" : "OCTOPUS",
        "label_taged" : false,
        "label_count" : 0,
        "create_at" : 1701403312027,
        "update_at" : 1701403312027,
        "data_source_info" : {
          "label_project_package_id" : "80da34ab-7f5e-476e-b2ec-1a974ba8a4a5",
          "label_project_package_name" : "projectName"
        }
      }
    }
  }
  ```
  
- 创建OBS类型的数据集
  ```
  {
    "meta_info" : {
      "current_time" : "2024-01-02T02:04:22Z"
    },
    "payload" : {
      "item" : {
        "id" : "61a22ebc-49b3-40b5-b16f-ab9aebd2b231",
        "name" : "数据集-OBS",
        "description" : "测试数据集-OBS",
        "data_type" : "IMAGE",
        "dataset_form" : "DATASET",
        "latest_version" : 0,
        "data_source" : "OBS",
        "frame_num" : 0,
        "frame_size" : 0,
        "project_id" : "64d37c8f25af4277a1ff4ee9772687bf",
        "workspace_id" : 0,
        "label_format" : "OCTOPUS",
        "label_taged" : false,
        "label_count" : 0,
        "create_at" : 1701403312027,
        "update_at" : 1701403312027,
        "data_source_info" : { }
      }
    }
  }
  ```
  
- 创建子集
  ```
  {
    "meta_info" : {
      "current_time" : "2024-01-02T02:04:22Z"
    },
    "payload" : {
      "item" : {
        "id" : "61a22ebc-49b3-40b5-b16f-ab9aebd2b231",
        "name" : "数据集-子集",
        "description" : "测试数据集-子集",
        "data_type" : "IMAGE",
        "dataset_form" : "SUBSET",
        "latest_version" : 0,
        "data_source" : "DATASET",
        "frame_num" : 0,
        "frame_size" : 0,
        "project_id" : "64d37c8f25af4277a1ff4ee9772687bf",
        "workspace_id" : 0,
        "label_format" : "OCTOPUS",
        "label_taged" : false,
        "label_count" : 0,
        "create_at" : 1701403312027,
        "update_at" : 1701403312027,
        "data_source_info" : { },
        "source_dataset_id" : "d6f9fdf1-99b3-457d-934b-14cce3265124"
      }
    }
  }
  ```
  
 
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 创建成功   |
| 400 | 参数校验失败 |
| 500 | 系统内部错误 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-octopus/ErrorCode.html)。
