
# 创建队列 - CreateQueue
#### 功能介绍
该API用于创建队列，该队列将会绑定用户指定的计算资源。
![](https://support.huaweicloud.com/api-dli/public_sys-resources/note_3.0-zh-cn.png)
新队列第一次运行作业时，需要一定的时间，通常为5\~15分钟。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DLI&api=CreateQueue)中调试该接口。
#### 授权信息
账号具备所有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:queue:create                        | Write                                           | queue \*                                                               | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | -                                      | -                                                 |
  | dli:queue:create                        | Write                                           | -                                                                      | - [g:RequestTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)  - [g:TagKeys](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)  - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html)   | -                                      | -                                                 |
     
  
 
#### URI
- URI格式： POST /v1.0/{project_id}/queues
  
- 参数说明
  表1URI参数 
  | 参数名称       | 是 否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  |:---|:---|:---|:---|
  | project_id | 是     | String | **参数解释：** 项目编号，用于资源隔离。获取方式请参考[获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)。 示例: 48cc2c48765f481480c7db940d6409d1 **约束限制：** 无 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 无 |
     
  
 
#### 请求消息
表2请求参数 
| 参数名称                       | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| queue_name                 | 是    | String           | 新建的队列名称， **参数解释：** 新建的队列名称。 **约束限制：** - 名称只能包含数字、英文字母和下划线，但不能是纯数字，且不能以下划线开头。  - 长度限制：1\~128个字符。  - 队列名称不区分大小写，系统会自动转换为小写。   **取值范围：** 无 **默认取值：** 无                                                        |
| queue_type                 | 否    | String           | **参数解释：** 队列的类型。 **约束限制：** 如果不指定类型，则默认为"sql"。 **取值范围：** - sql：SQL队列类型，用于运行SQL作业。  - general：通用队列类型，用于运行Flink、Spark Jar作业。   **默认取值：** "sql"                                                                                                                                                                                                  |
| description                | 否    | String           | **参数解释：** 队列的描述信息。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                       |
| cu_count                   | 是    | Integer          | **参数解释：** 与队列绑定的最小计算单元个数。 **约束限制：** 无 **取值范围：** 设置值当前只支持16，64，256。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                           |
| charging_mode              | 否    | Integer          | **参数解释：** 队列的收费模式。 **约束限制：** 无 **取值范围：** 只能设置为"1"，表示按照CU时收费。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                              |
| enterprise_project_id      | 否    | String           | **参数解释：** 企业项目ID，"0"表示default，即默认的企业项目。 关于如何设置企业项目请参考《[企业管理用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0108763975.html)》。 **约束限制：** 仅开通了企业管理服务的用户可设置该参数绑定指定的项目。 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                               |
| platform                   | 否    | String           | **参数解释：** 队列计算资源的cpu架构。 **约束限制：** 无 **取值范围：** - x86_64  - aarch64：aarch64架构计算资源使用华为鲲鹏系列服务器。   默认值为x86_64。 **默认取值：** x86_64                                                                                                                                                                                           |
| resource_mode              | 否    | Integer          | **参数解释：** 队列资源模式。 **约束限制：** 无 **取值范围：** 0：共享资源模式 1：专属资源模式 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                         |
| labels                     | 否    | Array of Strings | **参数解释：** 创建队列的标签信息。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                    |
| feature                    | 否    | String           | **参数解释：** 队列使用的镜像类型。 **约束限制：** 无 **取值范围：** - basic：基础型   **默认取值：** 默认值为"basic"。                                                                                                                                                                                                                                                                                                                             |
| tags                       | 否    | Array of Objects | **参数解释：** 队列的标签，使用标签标识云资源。包括"标签键"和"标签值"，具体请参考[表3]。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                    |
| elastic_resource_pool_name | 否    | String           | **参数解释：** 新建队列所属的弹性资源池名称。 **约束限制：** 名称只能包含数字、小写英文字母和下划线，但不能是纯数字，且不能以下划线开头。 长度限制：1\~128个字符。 添加队列到资源池，resource_mode必须为专属模式，否则不生效。 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                           |
| engine                     | 否    | String           | **参数解释：** 队列的引擎类型。 **约束限制：** 只有在queue_type是sql条件下才可配置 **取值范围：** 可以选择spark引擎，配置为spark。 了解引擎的详细类型和说明请参考[DLI简介](https://support.huaweicloud.com/productdesc-dli/dli_01_0378.html)。 **默认取值：** 默认是spark。                                                                                                                                                                                                                                           |
| properties                 | 否    | object           | **参数解释：** 配置队列属性。请参考[表4]。 **约束限制：** 当前仅以下区域支持设置Spark Native属性： - 华北-乌兰察布一  - 西南-贵阳一  - 亚太-曼谷  - 亚太-新加坡   **取值范围：** 请参考[表4]。 **默认取值：** 无 |
   
 表3tags参数 
| 参数名称  | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释：** 标签的键。 **约束限制：** 无 **取值范围：** 标签的键的最大长度为128个字符，标签的键可以包含任意语种字母、数字、空格和_ . : +-@ ,但首尾不能含有空格，不能以_sys_开头。 **默认取值：** 无 |
| value | 是    | String | **参数解释：** 标签的值。 **约束限制：** 无 **取值范围：** 标签值的最大长度为255个字符，标签的值可以包含任意语种字母、数字、空格和_ . : +-@ 。 **默认取值：** 无                  |
   
 表4properties参数说明 
| 参数名称                              | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| computeEngine.spark.nativeEnabled | 否    | String | **参数解释：** Spark Native引擎是Apache Spark的一个核心组件，用于提高Spark SQL计算性能而设计。通过使用向量化的C++加速库，实现对Spark算子性能加速。开启Spark Native引擎特性，可以提升Spark SQL的作业性能，减少CPU和内存的消耗。 配置队列是否开启Spark Native引擎特性，当前支持Scan和Filter两种算子开启Spark Native。 **约束限制：** 修改现有队列的属性，需要重启队列才会生效。 **取值范围：** 当前只涉及开启两种算子：Scan 和 Filter。 - Scan：Scan算子通常由查询语句触发，例如select \* from test_table。 仅以下条件的Scan算子支持开启Native： - Parquet格式的Hive表、Datasource表。  - Orc格式Datasource表。     - Filter：Filter算子通常由WHERE语句触发，例如：select \* from test_table where id = xxx。 使用Explain语句可以查看SQL命令触发的算子类型，例如：Explain select \* from test_table。    **默认取值：** 无 |
   
#### 响应消息
表5响应参数 
| 参数名称       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                  |
|:---|:---|:---|:---|
| is_success | 否    | Boolean | **参数解释：** 请求执行是否成功。"true"表示请求执行成功。 **取值范围：** 无                                           |
| message    | 否    | String  | **参数解释：** 系统提示信息，执行成功时，信息可能为空。 **取值范围：** 无                                               |
| queue_name | 否    | String  | **参数解释：** 新增队列的名称。队列名称不区分大小写，系统会自动转换为小写。 **取值范围：** 无 |
   
#### 请求示例
创建一个名称为queue1的通用类型的专属队列，该队列大小为16CU，且队列的计算资源分布在2个可用区。
```
{
    "queue_name": "queue1",
    "description": "test",
    "cu_count": 16,
    "resource_mode": 1,
    "enterprise_project_id": "0",
    "queue_type": "general",
    "labels": ["multi_az=2"]
}
```
在指定的弹性资源池中创建队列
```
{
    "queue_name": "queue2",
    "description": "test_esp",
    "cu_count": 16,
    "resource_mode": 1,
    "enterprise_project_id": "0",
    "queue_type": "general",
    "labels": ["multi_az=2"],
    "elastic_resource_pool_name": "elastic_pool_0622_10"
}
```
#### 响应示例
```
{
  "is_success": true,
  "message": "",
  "queue_name": "queue1"
}
```
#### 状态码
状态码如[表6]所示。
 表6状态码 
| 状态码 | 描述       |
|:---|:---|
| 200 | 创建成功。    |
| 400 | 请求错误。    |
| 500 | 内部服务器错误。 |
   
#### 错误码
调用接口出错后，将不会返回上述结果，而是返回错误码和错误信息，更多介绍请参见[错误码](https://support.huaweicloud.com/api-dli/dli_02_0056.html)。
