Déployer WebSocket des API dans API Gateway - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déployer WebSocket des API dans API Gateway

Après avoir créé votre WebSocket API, vous devez la déployer pour que vos utilisateurs puissent l'invoquer.

Pour déployer une API, vous devez créer un déploiement d'API et l'associer à une étape. Chaque étape est un instantané de l'API et peut être appelée par les applications client.

Important

Chaque fois que vous mettez à jour une API, vous devez la redéployer. Les modifications apportées à tout autre élément que les paramètres d’étape nécessitent un redéploiement, notamment des modifications des ressources suivantes :

  • Acheminements

  • Intégrations

  • Mécanismes d'autorisation

Par défaut, vous êtes limité à 10 étapes pour chaque API. Nous recommandons de réutiliser les étapes pour vos déploiements.

Pour appeler une WebSocket API déployée, le client envoie un message à l'URL de l'API. L'URL est déterminée par le nom d'hôte et le nom de l'étape de l'API.

Note

API Gateway prend en charge des charges utiles jusqu'à 128 Ko, avec une taille de trame maximale de 32 Ko. Si un message dépasse 32 Ko, il devra être scindé en plusieurs trames, chacune de 32 Ko ou moins.

En utilisant le nom de domaine par défaut de l'API, l'URL (par exemple) d'une WebSocket API dans une étape donnée ({stageName}) est au format suivant :

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

Pour rendre l'URL de l' WebSocket API plus conviviale, vous pouvez créer un nom de domaine personnalisé (par exemple,api.example.com) pour remplacer le nom d'hôte par défaut de l'API. Le processus de configuration est le même que pour les API REST. Pour de plus amples informations, veuillez consulter Nom de domaine personnalisé pour les API REST dans API Gateway.

Les étapes permettent un contrôle de version solide de votre API. Par exemple, vous pouvez déployer une API dans une étape test et une étape prod, puis utiliser l'étape test comme version de test et l'étape prod comme version stable. Une fois que les mises à jour passent le test, vous pouvez migrer l'étape test vers l'étape prod. La promotion peut être effectuée en redéployant l'API à l'étape prod. Pour de plus amples informations sur les étapes, veuillez consulter Configuration d'un stage pour une API REST.

Créez un déploiement d' WebSocketAPI à l'aide du AWS CLI

AWS CLI Pour créer un déploiement, utilisez la commande create-deployment comme indiqué dans l'exemple suivant :

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

Exemple de sortie :

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

L'API déployée ne peut pas être appelée tant que vous n'associez pas le déploiement à une étape. Vous pouvez créer une nouvelle étape ou réutiliser une étape créée précédemment.

Pour créer une nouvelle étape et l'associer au déploiement, utilisez la commande create-stage comme indiqué dans l'exemple suivant :

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

Exemple de sortie :

{ "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": {} }

Pour réutiliser un stage existant, mettez à jour la deploymentId propriété du stage avec le nouvel ID de déploiement ({deployment-id}) à l'aide de la commande update-stage.

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

Création d'un déploiement d' WebSocket API à l'aide de la console API Gateway

Pour utiliser la console API Gateway afin de créer un déploiement pour une WebSocket API :

  1. Connectez-vous à la console API Gateway et choisissez l'API.

  2. Sélectionnez Deploy API (Déployer une API).

  3. Choisissez l'étape souhaitée dans la liste déroulante ou saisissez le nom d'une nouvelle étape.