

# 在 API Gateway 中创建 WebSocket API
<a name="apigateway-websocket-api-create-empty-api"></a>

您可以使用 AWS CLI [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) 命令或使用 AWS SDK 中的 `CreateApi` 命令，在 API Gateway 控制台中创建 WebSocket API。以下过程说明如何创建新的 WebSocket API。

**注意**  
WebSocket API 仅支持 TLS 1.2 和 TLS 1.3。不支持早期 TLS 版本。

## 使用 AWS CLI 命令创建 WebSocket API
<a name="apigateway-websocket-api-create-using-awscli"></a>

以下 [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) 命令创建具有 `$request.body.action` 路由选择表达式的 API：

```
aws apigatewayv2 --region us-east-1 create-api --name "myWebSocketApi3" --protocol-type WEBSOCKET --route-selection-expression '$request.body.action'
```

输出内容如下所示：

```
{
    "ApiKeySelectionExpression": "$request.header.x-api-key",
    "Name": "myWebSocketApi3",
    "CreatedDate": "2018-11-15T06:23:51Z",
    "ProtocolType": "WEBSOCKET",
    "RouteSelectionExpression": "'$request.body.action'",
    "ApiId": "aabbccddee"
}
```

## 使用 API Gateway 控制台创建 WebSocket API
<a name="apigateway-websocket-api-create-using-console"></a>

您可以通过选择 WebSocket 协议并为 API 命名来在控制台中创建 WebSocket API。

**重要**  
创建 API 后，您无法更改为其选择的协议。无法将 WebSocket API 转换为 REST API，反之亦然。

**使用 API Gateway 控制台创建 WebSocket API**

1. 登录 API Gateway 控制台，然后选择**创建 API**。

1. 在 ** WebSocket API** 下，选择**构建**。仅支持区域端点。

1. 对于 **API 名称**，输入 API 的名称。

1. 对于**路由选择表达式**，输入一个值。例如，`$request.body.action`。

   有关路由选择表达式的更多信息，请参阅[路由选择表达式](websocket-api-develop-routes.md#apigateway-websocket-api-route-selection-expressions)。

1. 请执行以下操作之一：
   + 选择**创建空白 API**，以创建没有路由的 API。
   + 选择**下一步**，将路由附加到 API。

   您可以在创建 API 之后附加路由。