
# 新增元数据(2.1.18) -CreateMetadata2
#### 功能介绍
新增元数据。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GES&api=CreateMetadata2&version=v2)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/{project_id}/graphs/metadatas
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。用于获取操作API的权限。获取方法请参见[获取Token接口](https://support.huaweicloud.com/api-ges/ges_03_0005.html)，响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| metadata_path | 是    | String                                                    | **参数解释**： 元数据存储地址。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及                                                                                                                                            |
| name          | 是    | String                                                    | **参数解释**： 元数据的名字。 **约束限制**： 限制为1-64个字符，且只能包含字母，数字或下划线。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                               |
| description   | 是    | String                                                    | **参数解释**： 对元数据的描述。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                            |
| is_overwrite  | 是    | Boolean                                                   | **参数解释**： 是否覆盖文件。 **约束限制**： 不涉及。 **取值范围**： - true：覆盖  - false：不覆盖   **默认取值**： 不涉及。 |
| ges_metadata  | 是    | [ges_metadata] object | **参数解释**： 存储metadata的消息信息的对象。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                               |
   
 表4ges_metadata 
| 参数     | 是否必选 | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| labels | 是    | Array of [labels] objects | **参数解释**： label列表。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
 表5labels 
| 参数         | 是否必选 | 参数类型                                  | 描述                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| name       | 否    | String                                | **参数解释**： label名称 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。   |
| properties | 否    | Array of Map\<String,String\> objects | **参数解释**： label属性map **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
#### 响应参数
**状态码： 200**
表6响应Body参数 
| 参数   | 参数类型   | 描述                                                                                                                        |
|:---|:---|:---|
| id   | String | **参数解释**： 元数据ID。 **取值范围**： 不涉及。  |
| name | String | **参数解释**： 元数据名字。 **取值范围**： 不涉及。 |
   
**状态码： 400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。       |
| error_msg  | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。 |
   
#### 请求示例
新增元数据，元数据存储地址为devdata/unionsdk/unionsdk_test.xml，不覆盖文件，元数据的名字为unionsdk_test，对元数据的描述为测试。
```
POST https://{Endpoint}/v2/{project_id}/graphs/metadatas
{
  "metadata_path" : "devdata/unionsdk/unionsdk_test.xml",
  "is_overwrite" : false,
  "name" : "unionsdk_test",
  "description" : "测试",
  "ges_metadata" : {
    "labels" : [ {
      "name" : "friends"
    }, {
      "name" : "movie",
      "properties" : [ {
        "dataType" : "string",
        "name" : "ChineseTitle",
        "cardinality" : "single"
      }, {
        "dataType" : "int",
        "name" : "Year",
        "cardinality" : "single"
      }, {
        "dataType" : "string",
        "name" : "Genres",
        "cardinality" : "set"
      } ]
    }, {
      "name" : "user",
      "properties" : [ {
        "dataType" : "string",
        "name" : "ChineseName",
        "cardinality" : "single"
      }, {
        "typeName1" : "F",
        "typeName2" : "M",
        "typeNameCount" : "2",
        "dataType" : "enum",
        "name" : "Gender",
        "cardinality" : "single"
      }, {
        "typeName1" : "Under 18",
        "typeName2" : "18-24",
        "typeName3" : "25-34",
        "typeName4" : "35-44",
        "typeNameCount" : "7",
        "dataType" : "enum",
        "name" : "Age",
        "typeName5" : "45-49",
        "typeName6" : "50-55",
        "cardinality" : "single",
        "typeName7" : "56+"
      }, {
        "dataType" : "string",
        "name" : "Occupation",
        "cardinality" : "single"
      }, {
        "dataType" : "char array",
        "name" : "Zip-code",
        "maxDataSize" : "12",
        "cardinality" : "single"
      } ]
    }, {
      "name" : "rate",
      "properties" : [ {
        "dataType" : "int",
        "name" : "Score",
        "cardinality" : "single"
      }, {
        "dataType" : "date",
        "name" : "Datetime",
        "cardinality" : "single"
      } ]
    } ]
  }
}
```
#### 响应示例
**状态码： 200**
成功响应示例
```
{
  "id" : "ff8080815f9a3c84015f9a438ff70001",
  "name" : "unionsdk_test"
}
```
**状态码： 400**
失败响应示例
```
{
  "error_msg" : "The metadata file already exists.",
  "error_code" : "GES.2067"
}
```
#### 状态码
| 返回值                       | 说明     |
|:---|:---|
| 400 Bad Request           | 请求错误   |
| 401 Unauthorized          | 鉴权失败   |
| 403 Forbidden             | 没有操作权限 |
| 404 Not Found             | 找不到资源  |
| 500 Internal Server Error | 服务内部错误 |
| 503 Service Unavailable   | 服务不可用  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ges/ges_03_0040.html)。
