

# Criar APIs de WebSocket no API Gateway
<a name="apigateway-websocket-api-create-empty-api"></a>

Você pode criar uma API de WebSocket no console do API Gateway usando o comando [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) da AWS CLI ou usando o comando `CreateApi` em um AWS SDK. Os procedimentos a seguir mostram como criar uma nova API WebSocket.

**nota**  
APIs de WebSocket são compatíveis somente com TLS 1.2 e TLS 1.3. Versões anteriores do TLS não são compatíveis.

## Criar uma API WebSocket usando comandos da AWS CLI
<a name="apigateway-websocket-api-create-using-awscli"></a>

O comando [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) indicado abaixo cria uma API com a expressão de seleção de rota `$request.body.action`:

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

A saída será exibida como a seguir:

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

## Criar uma API WebSocket usando o console do API Gateway
<a name="apigateway-websocket-api-create-using-console"></a>

Você pode criar uma API WebSocket no console ao selecionar o protocolo WebSocket e atribuir um nome à API.

**Importante**  
Depois de criar a API, você não pode alterar o protocolo escolhido. Não é possível converter uma API WebSocket em uma API REST ou vice-versa.

**Como criar uma API WebSocket usando o console do API Gateway**

1. Inicie uma sessão no console do API Gateway e escolha **Create API (Criar API)**.

1. Em **WebSocket API (API WebSocket)**, escolha **Build (Criar)**. Somente endpoints regionais são aceitos.

1. Em **Nome da API**, insira o nome da API.

1. Em **Expressão de seleção de rotas**, insira um valor. Por exemplo, `$request.body.action`. 

   Para obter mais informações sobre expressões de seleção de rota, consulte [Expressões de seleção de rota](websocket-api-develop-routes.md#apigateway-websocket-api-route-selection-expressions).

1. Execute um destes procedimentos:
   + Selecione **Criar API em branco** para criar uma API sem rotas.
   + Selecione **Próximo** para anexar rotas à API.

   É possível anexar rotas depois de criar a API.