
# 创建表（废弃）
#### 功能介绍
该API用于创建新的表。该接口是同步接口。
![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
当前接口已废弃，不推荐使用。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DLI&api=CreateTable)中调试该接口。
#### URI
- URI格式： POST /v1.0/{project_id}/databases/{database_name}/tables
  
- 参数说明
  表1URI 参数 
  | 参数名称          | 是否必选 | 参数类型   | 说明                                                                                     |
  |:---|:---|:---|:---|
  | project_id    | 是    | String | 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 |
  | database_name | 是    | String | 新增表所在的数据库名称。                                                                           |
     
  
 
#### 请求消息
表2请求参数 
| 参数名称               | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| table_name         | 是    | String           | 新增表名称。 - 表名称只能包含数字、英文字母和下划线，但不能是纯数字，且不能以下划线开头。  - 表名称大小写不敏感且不能为空。  - 表名称支持包含"$"符号。例如：$test。  - 输入长度不能超过128个字符。   |
| data_location      | 是    | String           | 数据存储的地方。范围为： - OBS：OBS表。  - DLI：DLI表。  - VIEW：VIEW表。                                                                                                                                                    |
| description        | 否    | String           | 新增表的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| columns            | 是    | Array of Objects | 新增表的列。列相关参数请参考[表4]。data_location为VIEW时可不填写。                                                                                                                                                                                                                                                                                                                                                                                 |
| select_statement   | 否    | String           | 创建视图时依赖的查找语句。查找语句中的表需要附加所属数据库，即 "数据库.数据表"格式。data_location为VIEW时填写。                                                                                                                                                                                                                                                                                                                                                                                           |
| data_type          | 否    | String           | 新增OBS表数据的类型，目前支持：Parquet、ORC、CSV、JSON和Avro格式。 说明： OBS表必选参数。                                                                                                                                                                                                                                                                                                                                      |
| data_path          | 否    | String           | 新增OBS表数据的存储路径，必须是OBS的路径。 说明： OBS表必选参数。 data_path配置的OBS桶路径不建议为根目录，否则清空表数据的时候，就会把根目录内的数据全部清除，导致数据丢失。                                                                                                                                                                                                                                                                    |
| with_column_header | 否    | Boolean          | OBS表数据是否包含表头。只有CSV类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                                                                                                                                                            |
| delimiter          | 否    | String           | 用户自定义数据分隔符。只有CSV类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                                                                                                                                                              |
| quote_char         | 否    | String           | 用户自定义引用字符，默认为双引号（即"\\""）。只有CSV类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                                                                                                                                                |
| escape_char        | 否    | String           | 用户自定义转义字符，默认为反斜杠（即"\\\\"）。只有CSV类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                                                                                                                                               |
| date_format        | 否    | String           | 用户自定义日期类型，默认格式为"yyyy-MM-dd"。日期格式字符定义详见[表3](https://support.huaweicloud.com/api-dli/dli_02_0019.html#dli_02_0019__table489265920252)。只有CSV和JSON类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                                |
| timestamp_format   | 否    | String           | 用户自定义时间类型。默认格式为"yyyy-MM-dd HH:mm:ss"。时间戳格式字符定义详见[表3](https://support.huaweicloud.com/api-dli/dli_02_0019.html#dli_02_0019__table489265920252)。只有CSV和JSON类型数据具有该属性。data_location为OBS时填写。                                                                                                                                                                                                                                                                      |
| tags               | 否    | Array of Objects | 数据库的标签。具体请参考[tags参数]。                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表3tags参数 
| 参数名称  | 是否必选 | 参数类型   | 说明                                                                                                                                         |
|:---|:---|:---|:---|
| key   | 是    | String | 标签的键。 说明： 标签的键的最大长度为128个字符，标签的键可以包含任意语种字母、数字、空格和_ . : +-@ ,但首尾不能含有空格，不能以_sys_开头。 |
| value | 是    | String | 标签的值。 说明： 标签值的最大长度为255个字符，标签的值可以包含任意语种字母、数字、空格和_ . : +-@ 但首尾不能含有空格。              |
   
 表4columns参数 
| 参数名称                | 是否必选 | 参数类型    | 说明                                                                                                                                                  |
|:---|:---|:---|:---|
| column_name         | 是    | String  | 列的名称。                                                                                                                                               |
| type                | 是    | String  | 列的数据类型。具体支持的数据类型请参考[数据类型](https://support.huaweicloud.com/sqlref-spark-dli/dli_08_0058.html)。                                                       |
| description         | 否    | String  | 列的描述信息。                                                                                                                                             |
| is_partition_column | 否    | Boolean | 表示该列是否为分区列。"true"表示为分区列，"false"为非分区列，默认为"false"。 说明： 创建分区表时，需要保证表中至少有一列为非分区列。详见"请求样例"。 |
   
#### 响应消息
表5响应参数 
| 参数名称       | 是否必选 | 参数类型    | 说明                       |
|:---|:---|:---|:---|
| is_success | 否    | Boolean | 执行请求是否成功。"true"表示请求执行成功。 |
| message    | 否    | String  | 系统提示信息，执行成功时，信息可能为空。     |
   
#### 请求示例
- 创建一个data_location为OBS表，数据格式为CSV。
  ```
  {
    "table_name": "tb1",
    "data_location": "OBS",
    "description": "",
    "data_type": "csv",
    "data_path": "obs://obs/path1",
    "columns": [
    {
       "column_name": "column1",
       "type": "string",
       "description": "",
       "is_partition_column": true
    },
    {
       "column_name": "column2",
       "type": "string",
       "description": "",
       "is_partition_column": false
    }
    ],
    "with_column_header": true,
    "delimiter": ",",
    "quote_char": "\"",
    "escape_char": "\\",
    "date_format": "yyyy-MM-dd",
    "timestamp_format": "yyyy-MM-dd HH:mm:ss"
  }
  ```
  ![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
  "date_format"和"timestamp_format"的格式需与导入的csv文件中的时间格式一致。
  
- 创建data_location为DLI的表。
  ```
  {
    "table_name": "tb2", 
    "data_location": "DLI", 
    "columns": [
      {
        "column_name": "column1", 
        "type": "string", 
        "description": "", 
        "is_partition_column": true
      }, 
      {
        "column_name": "column2", 
        "type": "string", 
        "description": "", 
        "is_partition_column": false
      }
    ], 
    "tags": [
      {
        "key": "quarterly", 
        "value": "Q3"
      }, 
      {
        "key": "author", 
        "value": "user"
      }
    ]
  }
  ```
  
- 创建一个data_location为VIEW表。
  ```
  {
    "table_name": "tb3",
    "data_location": "VIEW",
    "columns": [
    {
       "column_name": "column1",
       "type": "string",
       "description": "",
       "is_partition_column": true
    },
    {
       "column_name": "column2",
       "type": "string",
       "description": "",
       "is_partition_column": false
    }
    ],
    "select_statement": "select * from db1.tb1"
  }
  ```
  
 
#### 响应示例
```
{
  "is_success": true,
  "message": ""
}
```
#### 状态码
状态码如[表6]所示。
 表6状态码 
| 状态码 | 描述       |
|:---|:---|
| 200 | 创建成功。    |
| 400 | 请求错误。    |
| 500 | 内部服务器错误。 |
   
#### 错误码
调用接口出错后，将不会返回上述结果，而是返回错误码和错误信息，更多介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
