Cas d'utilisation API Gateway - Amazon API Gateway

Cas d'utilisation API Gateway

Utiliser API Gateway pour créer des API HTTP

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

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

Par exemple, vous pouvez créer un HTTP API 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 HTTP API 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 Choisir entre HTTP API et REST API.

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

Une API REST API Gateway consiste en un ensemble 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 la méthode et les réponses de la 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 serveur principal, le développeur d'API configure la demande d'intégration pour transférer la demande de méthode entrante vers le serveur principal choisi. La configuration inclut les spécifications d'une action DynamoDB appropriée, du rôle et des stratégies IAM requises, ainsi que de la transformation des données d'entrée nécessaires. Le serveur principal renvoie le résultat à API Gateway en tant que 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 backend à 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 de corps.

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

  • Assistance pour la génération de kits SDK et la création de la documentation de l'API à l'aide d'extensions API Gateway pour OpenAPI

  • Limitations des demandes HTTP

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 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. Ou vous pouvez invoquer des services backend tels que AWS Lambda, Amazon Kinesis ou à un point de terminaison HTTP en fonction du contenu du message.

Vous pouvez utiliser des API API Gateway WebSocket pour créer applications de communication sécurisées en temps réel sans devoir mettre en service 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 d'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 IAM dans le compte AWS qui possède l'API.

Un développeur d'applications crée une application opérationnelle pour appeler les services AWS en invoquant 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 qu'elle prenne en charge l'autorisation des utilisateurs via des fournisseurs d'identité tiers fédérés reconnus par la fédération d'identité du 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 travaille avec 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 Amazon 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 de REST APIs et HTTP APIs) Utilisation des extensions API Gateway pour OpenAPI.

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

Appeler une API API Gateway

Un développeur d'application travaille avec 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 Invocation d'une API REST dans Amazon API Gateway et Appel d'une API WebSocket.