> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/bmc/load-balancing/createlistener.md).

# CreateListener

## 1. 接口描述

本接口(CreateListener)用于在网络型负载均衡实例中创建TCP、UDP或TCPSSL监听。

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称            | 必选 | 类型                                                                | 描述                                                                                                          |
| --------------- | -- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| loadBalancerId  | 是  | String                                                            | 负载均衡实例 ID。                                                                                                  |
| listenerName    | 是  | String                                                            | <p>监听器名称。</p><p>不得超过64个字符。仅支持输入字母、数字、-和英文句点(.)。</p>                                                         |
| portList        | 是  | Array of Integer                                                  | <p>监听端口。取值范围：0\~65535。</p><p>示例值：\["6569"]</p>                                                              |
| clientToken     | 是  | String                                                            | 用于保证请求的幂等性。                                                                                                 |
| protocol        | 是  | String                                                            | <p>监听协议。取值：</p><ul><li>TCP</li><li>UDP</li></ul>                                                            |
| backendProtocol | 是  | String                                                            | <p>后端转发协议。取值：</p><ul><li>TCP</li><li>UDP</li></ul>                                                          |
| scheduler       | 否  | String                                                            | <p>调度算法。取值：</p><ul><li>wrr（默认值）：加权轮询，权重值越高的后端服务器，被轮询到的概率也越高。</li><li>rr：轮询，按照访问顺序依次将外部请求分发到后端服务器。</li></ul> |
| kind            | 否  | [LbKind](/api-reference/cn/bmc/datastructure.md#lbkind)           | <p>工作模式。取值：</p><ul><li>FNAT(全局网络地址转换)</li><li>DR(直接路由)</li></ul><p>默认值：DR</p>                               |
| healthCheck     | 否  | [HealthCheck](/api-reference/cn/bmc/datastructure.md#healthcheck) | 健康检查的信息。                                                                                                    |
| notify          | 否  | [Notify](/api-reference/cn/bmc/datastructure.md#notify)           | 警报。                                                                                                         |

## 3. 响应结果

| 参数名称       | 类型     | 描述                                                       |
| ---------- | ------ | -------------------------------------------------------- |
| requestId  | String | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| listenerId | String | 监听器的ID。                                                  |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}

1. **创建Listener**

```json
POST /api/v2/bmc HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateListener
Request:
{
  "loadBalancerId": "xxxx",
  "name": "xxxx",
  "portList": [80],
  "clientToken": "xxxx",
  "protocol": "TCP",
  "backendProtocol": "TCP"
}
Response:
{
  "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
  "response": {
    "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
    "listenerId": "xxxx"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码 | 说明 |
| ------- | --- | -- |
