
# 新建模板 - CreateFlinkSqlJobTemplate
#### 功能介绍
该API在DLI服务中新建一个用户模板，最多100个。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DLI&api=CreateFlinkSqlJobTemplate)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限及授权项说明](https://support.huaweicloud.com/api-dli/dli_02_0375.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项 Action | 访问级别 Access Level | 资源类型（\*为必须） Resource Type (\*: required) | 条件键 Condition Key | 别名 Alias | 依赖的授权项 Dependencies |
  |:---|:---|:---|:---|:---|:---|
  | dli:template:create                     | write                                           | template \*                                                            | -                                              | -                                      | -                                                 |
     
  
 
#### URI
- URI格式 POST /v1.0/{project_id}/streaming/job-templates
  
- 参数说明
  表1URI参数说明 
  | 参数名称       | 是否必选 | 参数类型   | 说明                                                                                     |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 |
     
  
 
#### 请求消息
表2请求参数说明 
| 参数名称     | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| name     | 是    | String           | 模板名称。长度限制：1-64个字符 。                                                                                                                                                                                                                                                                                                                                       |
| desc     | 否    | String           | 模板描述。长度限制：0-512个字符。                                                                                                                                                                                                                                                                                                                                       |
| sql_body | 否    | String           | Stream SQL语句，至少包含source，query，sink三个部分。长度限制：0-10000个字符。                                                                                                                                                                                                                                                                                                   |
| tags     | 否    | Array of Objects | Flink作业模板的标签。具体请参考[表3]。                                                                                                                                                                                                                                                                                                    |
| job_type | 否    | String           | Flink作业模板类型。默认值为"flink_sql_job"，若填写则只能为"flink_sql_job"或者"flink_opensource_sql_job"。 - flink_sql_job：flink sql作业  - flink_opensource_sql_job：flink opensource sql作业   |
   
 表3tags参数 
| 参数名称  | 是否必选 | 参数类型   | 说明                                                                                                                                         |
|:---|:---|:---|:---|
| key   | 是    | String | 标签的键。 说明： 标签的键的最大长度为128个字符，标签的键可以包含任意语种字母、数字、空格和_ . : +-@ ,但首尾不能含有空格，不能以_sys_开头。 |
| value | 是    | String | 标签的值。 说明： 标签值的最大长度为255个字符，标签的值可以包含任意语种字母、数字、空格和_ . : +-@ 但首尾不能含有空格。              |
   
#### 响应消息
表4响应参数说明 
| 参数名称       | 是否必选 | 参数类型    | 说明                                                |
|:---|:---|:---|:---|
| is_success | 否    | Boolean | 请求是否成功。                                           |
| message    | 否    | String  | 消息内容。                                             |
| template   | 否    | Object  | 作业更新信息。请参见[表5] |
   
 表5template参数说明 
| 参数名称        | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| template_id | 否    | Long   | 模板ID。                                                                                                                                                                                                                                                                       |
| name        | 否    | String | 模板名称。                                                                                                                                                                                                                                                                       |
| desc        | 否    | String | 模板描述。                                                                                                                                                                                                                                                                       |
| create_time | 否    | Long   | 模板创建时间。                                                                                                                                                                                                                                                                     |
| job_type    | 否    | String | 作业模板类型。 - flink_sql_job：flink sql作业  - flink_opensource_sql_job：flink opensource sql作业   |
   
#### 请求示例
创建一个名为simple_stream_sql的作业模板。
```
{
    "name": "simple_stream_sql",
    "desc": "快速上手示例",
    "sql_body": "select * from source_table",
    "job_type": "flink_sql_job"
}
```
#### 响应示例
```
{
    "is_success": true,
    "message": "新建成功",
    "template": {
        "template_id": 0,
        "name": "IoT_example",
        "desc": "快速上手示例",
        "create_time": 1516952710040,
        "job_type": "flink_opensource_sql_job"
    }
}
```
#### 状态码
状态码如[表6]所示。
 表6状态码 
| 状态码 | 描述      |
|:---|:---|
| 200 | 创建模板成功。 |
| 400 | 输入参数无效。 |
   
#### 错误码
调用接口出错后，将不会返回上述结果，而是返回错误码和错误信息，更多介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
