> 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/networking/zga/accelerator/createaccelerator.md).

# CreateAccelerator

## 1. 接口描述

本接口(CreateAccelerator)用于创建加速器。

#### 准备工作

* 查询可用源站区域：调用[`DescribeOriginRegions`](/api-reference/cn/networking/zga/region/describeorginregions.md)。
* 查询可用加速区域：调用[`DescribeAccelerateRegions`](/api-reference/cn/networking/zga/region/describeaccelerateregions.md)。
* 创建证书：若需加速 https，则需提前调用[`CreateCertificate`](/api-reference/cn/networking/zga/certificate/createcertificate.md) 上传证书和密钥。

{% hint style="info" %}
**注意事项**

* 若 domain 参数为空，则加速器为 IP 加速，仅支持配置 L4 加速规则。
* domain 全局唯一，不允许加速器配置相同 domain。
* domain 不允许和 origin 相同，否则会形成回环，使加速无法使用。
* 创建`Standard`类型加速，则[accelerateRegions](/api-reference/cn/networking/zga/datastructure.md#accelerateRegion)配置`Anycast`, 此区域不可与其他加速区域同时存在。
* 本接口为异步接口，接口返回成功后，此时创建加速器操作并未立即完成。在此期间加速器的状态将会处于`Deploying`，加速器状态可以通过调用`DescribeAccelerators` 接口查询，如果加速器状态(acceleratorStatus)由`Deploying`(部署中)变为`Accelerating`(加速中），则代表加速成功，`AccelerateFailure`代表加速失败，可调用 redeploy 接口重试部署。
  {% endhint %}

## 2. 请求参数

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

| 参数名称              | 必选 | 类型                                                                                                                  | 描述                                                                                                                 |
| ----------------- | -- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| acceleratorName   | 否  | String                                                                                                              | <p>加速器名称</p><p>不得超过 64 个字符</p>                                                                                     |
| chargeType        | 否  | String                                                                                                              | <p><a href="/pages/VQt7p7btldYtEnCJD0Up#acceleratorchargetype">计费类型</a></p><p>如果不传，则使用账号默认计费类型</p>                 |
| resourceGroupId   | 否  | String                                                                                                              | <p>资源组的 ID。</p><p>如果不传，则使用默认资源组</p>                                                                                |
| certificateId     | 否  | String                                                                                                              | <p>证书 Id<br>该参数可以通过调用<a href="/pages/zggi4nA5i4TPSQAJqMZV">DescribeCertificates</a>的返回值中的 certificateId 字段来获取。</p> |
| domain            | 否  | [Domain](/api-reference/cn/networking/zga/datastructure.md#domain)                                                  | <p>域名全局唯一，不允许重复。</p><p>若不填，则表示 IP 加速，IP 加速不允许配置 7 层加速</p><p>domain 不允许和源站地址相同，会导致回环</p>                            |
| origin            | 是  | [Origin](/api-reference/cn/networking/zga/datastructure.md#origin)                                                  | 源站信息                                                                                                               |
| accelerateRegions | 是  | Array of [AccelerateRegion](/api-reference/cn/networking/zga/datastructure.md#accelerateRegion)                     | 加速区域信息                                                                                                             |
| l4Listeners       | 否  | Array of [AccelerationRuleL4Listener](/api-reference/cn/networking/zga/datastructure.md#accelerationrulel4listener) | <p>L4 加速规则</p><p>不允许 L4,L7 全为空</p>                                                                                 |
| l7Listeners       | 否  | Array of [AccelerationRuleL7Listener](/api-reference/cn/networking/zga/datastructure.md#accelerationrulel7listener) | <p>L7 加速规则</p><p>不允许 L4,L7 全为空</p>                                                                                 |
| protocolOpts      | 否  | [AccelerationRuleProtocolOpts](/api-reference/cn/networking/zga/datastructure.md#accelerationruleprotocolopts)      | 加速器加速规则协议可选配置                                                                                                      |
| healthCheck       | 否  | [HealthCheck](/api-reference/cn/networking/zga/datastructure.md#healthcheck)                                        | 健康检查配置                                                                                                             |

## 3. 响应结果

| 参数名称          | 类型     | 描述                                         |
| ------------- | ------ | ------------------------------------------ |
| requestId     | String | 唯一请求 ID，每次请求都会返回。定位问题时需要提供该次请求的 requestId。 |
| acceleratorId | String | 加速器 Id                                     |

## 4. 代码示例

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

1. **创建加速器**

```json
POST /api/v2/zga HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateAccelerator
<Common Request Params>

Request:
{
    "acceleratorName": "xx.xx.com_Singapore",
    "chargeType": "ByTrafficPackage",
    "resourceGroupId":"xxx-xx",
    "certificateId": "f0864***66c6fa",
    "domain": {
        "domain": "xx.xx.com",
        "relateDomains": "xx.xx.cn"
    },
    "origin": {
        "originRegionId": "SG",
        "origin": "10.10.10.10",
        "backupOrigin": ""
    },
    "accelerateRegions": [
        {
            "accelerateRegionId": "FR",
        }
    ],
    "l4Listeners": [
        {
            "portRange": "53/54",
            "protocol": "udp"
        }
    ],
    "l7Listeners": [
        {
            "port": 443,
            "backPort": 443,
            "backProtocol": "https",
            "protocol": "https"
        }
    ],
    "protocolOpts": {
        "toa": false,
        "toaValue": 253,
        "websocket": false,
        "proxyProtocol": false,
        "gzip": false,
        "sniCheck": false,
        "httpRedirect": false
    },
    "healthCheck": {
        "enable": true,
        "alarm": true,
        "port": 80
    }
}


Response:
{
    "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
    "response": {
        "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
        "acceleratorId": "acceleratorIdxxxxx",
    }
}
```

{% 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 状态码 | 错误码                                               | 说明                                          |
| -------- | ------------------------------------------------- | ------------------------------------------- |
| 400      | IP\_ACCELERATOR\_NOT\_SUPPORT\_L7                 | IP 加速器不支持 7 层加速                             |
| 400      | NOT\_SUPPORT\_RELATE\_DOMAINS                     | IP 加速不支持关联域名                                |
| 400      | RELATE\_DOMAINS\_EXCEED\_LIMIT                    | 关联域名配置超出限制                                  |
| 400      | RELATE\_DOMAINS\_CONFLICT\_WITH\_DOMAIN           | 关联域名和域名冲突                                   |
| 400      | PORT\_NOT\_AVAILABLE                              | 端口不可用，请检查端口范围                               |
| 400      | PORT\_CONFLICT                                    | 端口冲突                                        |
| 400      | PORT\_FORBIDDEN                                   | 加速端口被禁止                                     |
| 400      | PORT\_EXCEEDED\_LIMIT                             | 端口数超出限制                                     |
| 400      | HTTPS\_NEED\_CRT                                  | https 需要配置证书                                |
| 400      | PROXYPROTOCOL\_NOT\_ALLOW\_CONFIGURED\_WITH\_TOA  | ProxyProtocol 和 Toa 不允许同时被配置                |
| 400      | ORIGIN\_FORBIDDEN                                 | 源站被禁止                                       |
| 400      | ORIGIN\_NOT\_AVAILABLE                            | 源站不可用                                       |
| 400      | IP\_CNAME\_EXIST\_SAME\_TIME                      | 源站不能同时存在 IP 和 cname                         |
| 400      | MULTIPLE\_CNAMES\_EXIST                           | 源站不能存在多个 cname                              |
| 400      | CNAME\_ORIGIN\_NOT\_SUPPORT\_BACKUP\_ORIGIN       | 主源站为 CNAME 类型时不支持配置备源站                      |
| 400      | CERT\_NOT\_MATCH\_DOMAIN\_OR\_EXPIRED             | 证书过期或与域名不匹配                                 |
| 500      | FIND\_RESOUCE\_GROUP\_ERROR                       | 查询用户资源组失败                                   |
| 400      | ACCELERATE\_REGION\_ONLY                          | 此区域仅提供于加速区域使用                               |
| 400      | ANYCAST\_ONLY                                     | 此区域仅提供于 Anycast 使用                          |
| 400      | DOMAIN\_SAME\_AS\_ORIGIN                          | domain 不允许和源站相同                             |
| 400      | ACCELERATOR\_DOMAIN\_EXIST                        | domain 已经存在                                 |
| 400      | NO\_FIT\_LINE                                     | 没有线路提供给加速区域                                 |
| 404      | INVALID\_REGION\_NOT\_FOUND                       | 未找到指定区域                                     |
| 400      | ANYCAST\_NOT\_ALLOW\_WITH\_NORMAL\_REGION         | Anycast 加速不允许和普通加速区域同时使用                    |
| 400      | CUSTOMER\_ACCOUNT\_NOT\_AVAILABLE                 | 客户账号不可用                                     |
| 400      | TRAFFIC\_PACKAGE\_NOT\_EXIST                      | 全球加速包不存在                                    |
| 400      | TRAFFIC\_PACKAGE\_EXPIRED                         | 全球加速包已经过期，请续费                               |
| 400      | LINE\_NOT\_ENOUGH                                 | 账户线路资源已到限制数量                                |
| 400      | NO\_ENOUGH\_BANDWIDTH                             | 用户没有足够的带宽                                   |
| 400      | ONLY\_ONE\_CN2\_SELECTED                          | 只有一个 CN2 加速区域能被选择                           |
| 500      | ADD\_RESOURCE\_GROUP\_ERROR                       | 添加资源组失败                                     |
| 500      | FOUND\_AVAILABLE\_REGION\_ERROR                   | 查询可用区域失败                                    |
| 404      | INVALID\_CERTIFICATE\_NOT\_FOUND                  | 未找到指定的证书                                    |
| 400      | IP\_ACCELERATOR\_NOT\_SUPPORT\_GZIP               | IP 加速不支持配置 gzip                             |
| 400      | IP\_ACCELERATOR\_NOT\_SUPPORT\_WEBSOCKET          | IP 加速不支持配置 websocket                        |
| 400      | IP\_ACCELERATOR\_NOT\_SUPPORT\_SNI\_CHECK         | IP 加速不支持配置 sni 检查                           |
| 400      | IP\_ACCELERATOR\_NOT\_SUPPORT\_HTTP\_REDIRECT     | IP 加速不支持配置 http redirect                    |
| 400      | HTTP\_REDIRECT\_MUST\_CONFIGURED\_REQUIRED\_PORTS | http redirect 必须配置 80/http 和 443/https 加速端口 |
