Cas d'utilisation d'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.

Cas d'utilisation d'API Gateway

Utilisation d'API Gateway pour créer des API REST

Une API REST API Gateway se compose de ressources et de méthodes. Une ressource est une entité logique à laquelle une application peut accéder via un chemin de ressource. Une méthode correspond à une demande d'API REST envoyée par l'utilisateur de l'API et à la réponse correspondante renvoyée à l'utilisateur.

Par exemple, /incomes peut-être le chemin de la ressource représentant les revenus de l'utilisateur de l'application. Une ressource peut comporter une ou plusieurs opérations définies par des verbes HTTP appropriés, tels que GET, POST, PUT, PATCH et DELETE. La combinaison d'un chemin de ressource et d'une opération identifie une méthode de l'API. Par exemple, la méthode POST /incomes ajoute les revenus générés par l'appelant, et la méthode GET /expenses interroge les dépenses signalées engagées par l'appelant.

L'application n'a pas besoin de savoir où sont stockées les données demandées et à partir d'où elles sont extraites sur le back-end. Dans les API REST API Gateway, le serveur frontal est encapsulé par les demandes de méthode et les réponses de méthode. L'API s'interface au backend aux moyens de demandes d'intégration et de réponses d'intégration.

Par exemple, avec DynamoDB comme backend, le développeur d'API configure la demande d'intégration pour transférer la demande de méthode entrante vers le backend choisi. La configuration inclut les spécifications d'une action DynamoDB appropriée, du rôle et des stratégies IAM requis, ainsi que de la transformation des données d'entrée nécessaires. Le backend renvoie le résultat à API Gateway sous forme de réponse d'intégration.

Pour acheminer la réponse d'intégration à une réponse de méthode appropriée (d'un code de statut HTTP donné) vers le client, vous pouvez configurer la réponse d'intégration pour mapper les paramètres de réponse requis de l'intégration à la méthode. Vous pouvez ensuite appliquer le format des données de sortie du serveur principal à celui du serveur frontal, si nécessaire. API Gateway vous permet de définir un schéma ou un modèle pour la charge utile afin de faciliter la configuration du modèle de mappage du corps.

API Gateway fournit des fonctionnalités de gestion des API REST telles que les suivantes :

  • Prise en charge de la génération de kits SDK et de la création de la documentation de l'API à l'aide d'extensions API Gateway vers OpenAPI

  • Limitations des demandes HTTP

Utilisation d'API Gateway pour créer des API HTTP

Les API HTTP vous permettent de créer des API RESTful avec une latence inférieure et un coût inférieur aux API REST.

Vous pouvez utiliser les API HTTP pour envoyer des demandes à des fonctions AWS Lambda ou à n'importe quel point de terminaison HTTP publiquement routable.

Par exemple, vous pouvez créer une API HTTP qui s'intègre à une fonction Lambda sur le backend. Lorsqu'un client appelle votre API, API Gateway envoie la demande à la fonction Lambda et renvoie la réponse de la fonction au client.

Les API HTTP prennent en charge OpenID Connect et l'autorisation OAuth 2.0. Ils sont fournis avec la prise en charge intégrée du partage de ressources d'origine croisée (CORS) et des déploiements automatiques.

Pour en savoir plus, consultez la section Choix entre les API HTTP et les API REST.

Utilisation d'API Gateway pour créer des API WebSocket

Dans une API WebSocket, le client et le serveur peuvent s'envoyer des messages l'un à l'autre à tout moment. Les serveurs principaux peuvent facilement transférer les données aux utilisateurs et appareils connectés, ce qui évite de devoir mettre en œuvre des mécanismes d'interrogation complexes.

Par exemple, vous pouvez créer une application sans serveur à l'aide d'une API WebSocket API Gateway et de AWS Lambda pour envoyer et recevoir des messages à destination et en provenance d'utilisateurs individuels ou de groupes d'utilisateurs dans une salle de conversation. Vous pouvez également appeler des services backend tels que AWS Lambda, Amazon Kinesis ou un point de terminaison HTTP en fonction du contenu des messages.

Vous pouvez utiliser des API WebSocket API Gateway pour créer des applications de communication sécurisées en temps réel sans devoir allouer ou gérer des serveurs pour gérer les connexions ou les échanges de données à grande échelle. Les cas d'utilisation ciblée incluent des applications en temps réel telles que les suivantes :

  • Applications de conversation

  • Tableaux de bord en temps réel tels que symboles boursiers

  • Alertes et notifications en temps réel

API Gateway fournit des fonctionnalités de gestion d'API WebSocket telles que les suivantes :

  • Surveillance et limitation des connexions et des messages

  • Utilisation de AWS X-Ray pour suivre les messages au fur et à mesure qu'ils transitent par le biais des API vers les services backend

  • Intégration aisée avec des points de terminaison HTTP/HTTPS

Qui utilise API Gateway ?

Deux types de développeurs utilisent API Gateway : les développeurs d'API et les développeurs d'applications.

Un développeur d'API crée et déploie une API pour activer la fonctionnalité requise dans API Gateway. Le développeur d'API doit être un utilisateur dans le compte AWS qui est propriétaire de l'API.

Un développeur d'applications crée une application opérationnelle pour appeler les services AWS en appelant une API WebSocket ou REST créée par un développeur d'API dans API Gateway.

Le développeur d'applications est le client du développeur d'API. Le développeur d'applications n'a pas besoin d'avoir un compte AWS, pour autant que l'API ne nécessite pas d'autorisations IAM ou prend en charge l'autorisation des utilisateurs via des fournisseurs d'identité fédérés tiers pris en charge par la fédération d'identité de groupe d'utilisateurs Amazon Cognito. Parmi ces fournisseurs d'identité, citons Amazon, les groupes d'utilisateurs Amazon Cognito, Facebook et Google.

Création et gestion d'une API API Gateway

Un développeur d'API utilise le composant de service API Gateway pour la gestion des API, nommé apigateway, afin de créer, configurer et déployer une API.

En tant que développeur d'API, vous pouvez créer et gérer une API à l'aide de la console API Gateway, décrite dans Mise en route avec API Gateway ou en appelant Références d'API. Il existe plusieurs méthodes pour appeler cette API. Ils incluent l'utilisation de la AWS Command Line Interface (AWS CLI), ou d'un AWS SDK. En outre, vous pouvez activer la création d'API avec des modèles AWS CloudFormation ou (dans le cas des API REST et des API HTTP) Utilisation des extensions API Gateway vers OpenAPI.

Pour obtenir la liste des régions où API Gateway est disponible, ainsi que les points de terminaison du service de contrôle associés, veuillez consulter Points de terminaison et quotas Amazon API Gateway.

Appel d'une API API Gateway

Un développeur d'application utilise le composant de service API Gateway pour l'exécution des API, nommé execute-api, afin d'appeler une API créée ou déployée dans API Gateway. Les entités de programmation sous-jacentes sont exposées par l'API créée. Il existe plusieurs méthodes pour appeler une telle API. Pour en savoir plus, consultez Appel d'une API REST dans Amazon API Gateway et Appel d'une API WebSocket.