Implementación de las API de WebSocket en API Gateway - Amazon API Gateway

Implementación de las API de WebSocket en API Gateway

Después de crear la API de WebSocket, debe implementarla para que los usuarios puedan invocarla.

Para implementar una API, debe crear una implementación de API y asociarla con una etapa. Cada etapa es una instantánea de la API que está disponible para que las aplicaciones cliente la invoquen.

importante

Cada vez que actualice una API, debe volver a implementarla. Los cambios que no sean en la configuración del escenario requieren una nueva implementación, incluidas las modificaciones en los siguientes recursos:

  • Rutas

  • Integraciones

  • Autorizadores

De forma predeterminada, se pueden incluir un máximo de 10 etapas para cada API. Se recomienda reutilizar las etapas para las implementaciones.

Para llamar a una API de WebSocket implementada, el cliente envía un mensaje a la URL de la API. La URL está determinada por el nombre de host y el nombre de etapa de la API.

nota

API Gateway admitirá cargas de hasta 128 KB con un tamaño máximo de trama de 32 KB. Si un mensaje supera los 32 KB, se debe dividir en varias tramas, cada una con un tamaño máximo de 32 KB.

Por ejemplo, si se utiliza el nombre de dominio predeterminado de la API, la URL de una API de WebSocket en una determinada etapa ({stageName}) tendrá el siguiente formato:

wss://{api-id}.execute-api.{region}.amazonaws.com/{stageName}

Para simplificar la URL de la API de WebSocket, puede crear un nombre de dominio personalizado (por ejemplo, api.example.com) para sustituir el nombre de host predeterminado de la API. El proceso de configuración es el mismo que para las API de REST. Para obtener más información, consulte Nombre de dominio personalizado para las API de REST en API Gateway.

Las etapas permiten realizar un exhaustivo control de versiones de la API. Por ejemplo, puede implementar una API en una etapa test y una etapa prod, y utilizar la etapa test como compilación de pruebas y la etapa prod como compilación estable. Una vez que las actualizaciones superan la prueba, puede promover la etapa test como etapa prod. La promoción puede hacerse implementando de nuevo la API en la etapa prod. Para obtener más información sobre las etapas, consulte Configuración de una etapa para una API de REST en API Gateway.

Creación de una implementación de la API de WebSocket mediante la AWS CLI

Para utilizar AWS CLI para crear una implementación, use el comando create-deployment como se muestra en el siguiente ejemplo:

aws apigatewayv2 --region us-east-1 create-deployment --api-id aabbccddee

Ejemplo de salida:

{ "DeploymentId": "fedcba", "DeploymentStatus": "DEPLOYED", "CreatedDate": "2018-11-15T06:49:09Z" }

La API implementada no se puede invocar hasta que la implementación se asocia a una etapa. Puede crear una etapa nueva o reutilizar una creada previamente.

Para crear una etapa nueva y asociarla a la implementación, utilice el comando create-stage, tal y como se muestra en el siguiente ejemplo:

aws apigatewayv2 --region us-east-1 create-stage --api-id aabbccddee --deployment-id fedcba --stage-name test

Ejemplo de salida:

{ "StageName": "test", "CreatedDate": "2018-11-15T06:50:28Z", "DeploymentId": "fedcba", "DefaultRouteSettings": { "MetricsEnabled": false, "ThrottlingBurstLimit": 5000, "DataTraceEnabled": false, "ThrottlingRateLimit": 10000.0 }, "LastUpdatedDate": "2018-11-15T06:50:28Z", "StageVariables": {}, "RouteSettings": {} }

Para reutilizar una etapa existente, actualice la propiedad deploymentId de la etapa con el ID de la implementación que acaba de crear ({deployment-id}) mediante el comando update-stage.

aws apigatewayv2 update-stage --region {region} \ --api-id {api-id} \ --stage-name {stage-name} \ --deployment-id {deployment-id}

Crear una implementación de la API de WebSocket mediante la consola de API Gateway

Para utilizar la consola de API Gateway para crear una implementación de una API de WebSocket:

  1. Inicie sesión en la consola de API Gateway y elija la API.

  2. Elija Deploy API (Implementar API).

  3. Elija la etapa que desee en el menú desplegable o escriba el nombre de una etapa nueva.