
# 新增元数据(2.1.18)
#### 功能介绍
新增元数据。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GES&api=CreateMetadata)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1.0/{project_id}/graphs/metadatas
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                              |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 |
   
#### 请求参数
表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参数 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| metadataPath | 是    | String  | 元数据存储地址。                                                                                                                                                                                                                                          |
| name         | 是    | String  | 元数据的名称，限制为1-64个字符，且只能包含字母，数字或下划线。                                                                                                                                                                                                                 |
| description  | 是    | String  | 对元数据的描述信息。                                                                                                                                                                                                                                        |
| isOverwrite  | 是    | Boolean | 是否覆盖文件。取值为true或false，默认值为false。 - true表示覆盖文件。  - false表示不覆盖文件。   |
| gesMetadata  | 是    | Object  | 存储metadata的消息信息的对象。                                                                                                                                                                                                                               |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                                    |
|:---|:---|:---|
| errorMessage | String | 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   |
| errorCode    | String | 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。       |
| id           | String | 元数据ID。                                                                                                                                                                                                                                |
| name         | String | 元数据的名称。                                                                                                                                                                                                                               |
   
#### 请求示例
```
POST https://{Endpoint}/v1.0/{project_id}/graphs/metadatas 
{
    "metadataPath": "gesdata/demo_movie/schema.xml",
    "name": "movie_schema",
    "description": "xxxxx",
    "isOverwrite": "true",
    "gesMetadata": {
        "labels": [
            {
                "name": "friends",
                "properties": null
            },
            {
                "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": "Name",
                        "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**
OK
```
{
  "id" : "ff8080815f9a3c84015f9a438ff70001",
  "name" : "movie_schema"
}
```
**状态码： 500**
Internal Server Error
```
{
  "errorCode" : "GES.2067",
  "errorMessage" : "name: 1 to 64 characters, only letters, digits, and underscores(_) are allowed."
}
```
#### 状态码
| 状态码 | 说明      |
|:---|:---|
| 200 | 请求成功。   |
| 400 | 请求错误。   |
| 401 | 鉴权失败。   |
| 403 | 没有操作权限。 |
| 404 | 找不到资源。  |
| 500 | 服务内部错误。 |
| 503 | 服务不可用。  |
   
