0Pricing
Serverless Backend with AWS Lambda & API Gateway · Leçon

API WebSocket pour les communications en temps réel

Créez des connexions bidirectionnelles en temps réel avec les API WebSocket d’API Gateway. Découvrez les routes de connexion, de déconnexion et de message, ainsi que la manière de renvoyer des données aux clients.

API WebSocket pour les communications en temps réel est une leçon Serverless Backend with AWS Lambda & API Gateway gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Serverless Backend with AWS Lambda & API Gateway, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Why WebSockets?

REST APIs are request/response — the server cannot push. For chat, live dashboards, or notifications you need a persistent two-way channel. API Gateway WebSocket APIs provide exactly that.

The Three Built-in Routes

A WebSocket API has special routes:

  • $connect when a client connects
  • $disconnect when it leaves
  • $default for unmatched messages

Route Selection Expression

Custom routes are chosen by a route selection expression, usually a field in the incoming JSON such as $request.body.action.

{
  "action": "sendMessage",
  "data": "hello"
}

Handling $connect

The $connect handler receives a unique connectionId. Store it (e.g. in DynamoDB) so you can message that client later.

exports.handler = async (event) => {
  const id = event.requestContext.connectionId;
  await save(id);
  return { statusCode: 200 };
};

Handling $disconnect

On disconnect, remove the stored connectionId so you do not try to message a dead client.

exports.handler = async (event) => {
  await remove(event.requestContext.connectionId);
  return { statusCode: 200 };
};

Pushing Messages to a Client

To send data back, call the management API with the target connectionId.

const api = new ApiGatewayManagementApi({ endpoint });
await api.postToConnection({
  ConnectionId: id,
  Data: JSON.stringify({ msg: "hi" })
});

Broadcasting to Many Clients

To broadcast, loop over all stored connectionIds and post to each. Remove any that return a 410 Gone status — those clients have disconnected.

Authorizing Connections

Attach a Lambda authorizer to the $connect route to validate a token before the connection is accepted, rejecting unauthorized clients up front.

Connection Lifetime and Limits

WebSocket connections last up to 2 hours, with a 10-minute idle timeout. Clients should reconnect when dropped, and you should handle stale connectionIds gracefully.

Pricing Model

You pay for messages transferred and for connection-minutes, not for idle request count. This makes WebSocket APIs cost-effective for bursty real-time traffic.

When to Use WebSockets

Reach for WebSocket APIs when you need:

  • Live chat or collaboration
  • Real-time dashboards
  • Server-initiated notifications

For simple request/response, stick with REST or HTTP APIs.

Quick Check

Test your WebSocket API knowledge.

Recap

You learned real-time APIs:

  • WebSocket APIs add two-way communication
  • $connect, $disconnect, $default plus custom routes
  • Store connectionIds and push via postToConnection
  • Authorize on $connect; handle stale connections

Questions Fréquemment Posées

La leçon « API WebSocket pour les communications en temps réel » est-elle gratuite ?

Oui — le texte complet de « API WebSocket pour les communications en temps réel » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Serverless Backend with AWS Lambda & API Gateway, passe à CoddyKit PRO. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « API WebSocket pour les communications en temps réel » ?

Créez des connexions bidirectionnelles en temps réel avec les API WebSocket d’API Gateway. Découvrez les routes de connexion, de déconnexion et de message, ainsi que la manière de renvoyer des donnée… Tu pratiques Serverless Backend with AWS Lambda & API Gateway avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Serverless Backend with AWS Lambda & API Gateway ?

Aucune expérience préalable n'est requise. Serverless Backend with AWS Lambda & API Gateway sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « API WebSocket pour les communications en temps réel » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Serverless Backend with AWS Lambda & API Gateway ?

Oui. Chaque leçon Serverless Backend with AWS Lambda & API Gateway inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Mise en cache et limitation du débit
  2. Transformations des requêtes et des réponses
  3. Noms de domaine personnalisés et optimisation périphérique
  4. API WebSocket pour les communications en temps réel
← Retour à Serverless Backend with AWS Lambda & API Gateway