

# Creación de las API de WebSocket en API Gateway
<a name="apigateway-websocket-api-create-empty-api"></a>

Puede crear una API de WebSocket en la consola de API Gateway mediante el comando [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) de la AWS CLI o mediante el comando `CreateApi` en un AWS SDK. Los procedimientos que se describen a continuación muestran cómo crear una API de WebSocket nueva.

**nota**  
Las API de WebSocket solo son compatibles con TLS 1.2 y TLS 1.3. No se admiten versiones de TLS anteriores.

## Creación de una API de WebSocket mediante comandos de la AWS CLI
<a name="apigateway-websocket-api-create-using-awscli"></a>

El siguiente comando [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) permite crear una API con la expresión de selección de ruta `$request.body.action`:

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

El resultado es similar al siguiente:

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

## Creación de una API de WebSocket mediante la consola de API Gateway
<a name="apigateway-websocket-api-create-using-console"></a>

Para crear una API de WebSocket en la consola, elija el protocolo WebSocket y asígnele un nombre a la API.

**importante**  
Una vez que haya creado la API, no podrá cambiar el protocolo que haya elegido para ella. No hay forma de convertir una API de WebSocket en una API de REST o viceversa.

**Para crear una API de WebSocket mediante la consola de API Gateway**

1. Inicie sesión en la consola de API Gateway y elija **Create API (Crear API)**.

1. En **WebSocket API (API de WebSocket)**, elija **Build (Generar)**. Solo se admiten puntos de conexión regionales.

1. En **Nombre de API**, escriba el nombre de la API.

1. En **Expresión de selección de ruta**, introduzca un valor. Por ejemplo, `$request.body.action`. 

   Para obtener más información sobre las expresiones de selección de ruta, consulte [Expresiones de selección de ruta](websocket-api-develop-routes.md#apigateway-websocket-api-route-selection-expressions).

1. Realice una de las siguientes acciones:
   + Elija **Crear una API en blanco** para crear una API sin rutas.
   + Seleccione **Siguiente** para asociar rutas a su API.

   Puede asociar rutas después de crear su API.