View a markdown version of this page

Sélection d’une méthode pour invoquer votre fonction Lambda à l’aide d’une requête HTTP - AWS Lambda

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.

Sélection d’une méthode pour invoquer votre fonction Lambda à l’aide d’une requête HTTP

De nombreux cas d’utilisation courants de Lambda impliquent d’invoquer votre fonction à l’aide d’une requête HTTP. Vous pourriez souhaiter qu’une application Web invoque votre fonction par le biais d’une demande de navigateur. Les fonctions Lambda peuvent également être utilisées pour créer des API REST complètes, gérer les interactions des utilisateurs à partir d’applications mobiles, traiter les données de services externes via des appels HTTP ou créer des webhooks personnalisés.

Les sections suivantes expliquent quels sont vos choix pour invoquer Lambda via HTTP et fournissent des informations qui vous aideront à prendre la bonne décision pour votre cas d’utilisation particulier.

Options proposées lors de la sélection d’une méthode d’appel HTTP

Lambda propose deux méthodes principales pour invoquer une fonction à l’aide d’une requête HTTP : les URL de fonctions et API Gateway. Les principales différences entre ces deux options sont les suivantes :

  • Les URL de fonctions Lambda fournissent un point de terminaison HTTP simple et direct pour une fonction Lambda. Elles sont optimisées pour la simplicité et la rentabilité et constituent le moyen le plus rapide d’exposer une fonction Lambda via HTTP.

  • API Gateway est un service plus avancé permettant de créer des API complètes. API Gateway est optimisé pour créer et gérer des API de production à grande échelle et fournit des outils complets pour la sécurité, la surveillance et la gestion du trafic.

Recommandations si vous connaissez déjà vos besoins

Si vous connaissez déjà bien vos besoins, voici nos recommandations de base :

Nous recommandons les URL de fonction pour les applications simples ou le prototypage lorsque vous n'avez besoin que de méthodes d'authentification et de request/response manipulation de base et lorsque vous souhaitez réduire les coûts et la complexité au minimum.

API Gateway est un meilleur choix pour les applications de production à grande échelle ou pour les cas où vous avez besoin de fonctionnalités plus avancées telles que la prise en charge d'OpenAPI Description, un choix d'options d'authentification, des noms de domaine personnalisés ou une request/response gestion riche, notamment la régulation, la mise en cache et la transformation. request/response

Éléments à prendre en compte lors de la sélection d’une méthode pour invoquer votre fonction Lambda

Lorsque vous choisissez entre les URL de fonctions et API Gateway, vous devez prendre en compte les facteurs suivants :

  • Vos besoins en matière d’authentification, par exemple si vous avez besoin d’OAuth ou d’Amazon Cognito pour authentifier les utilisateurs

  • Vos exigences en matière de mise à l’échelle et la complexité de l’API que vous souhaitez implémenter

  • Si vous avez besoin de fonctionnalités avancées telles que la validation et le request/response formatage des demandes

  • Vos besoins en matière de surveillance

  • Vos objectifs en matière de coûts

La compréhension de ces facteurs vous permettra de choisir l’option qui répond le mieux à vos exigences en matière de sécurité, de complexité et de coût.

Le tableau suivant résume les différences entre les deux options.

  • Les URL des fonctions fournissent des options d'authentification de base via Gestion des identités et des accès AWS (IAM). Vous pouvez configurer vos points de terminaison pour qu’ils soient publics (aucune authentification) ou pour qu’ils nécessitent une authentification IAM. Avec l'authentification IAM, vous pouvez utiliser des AWS informations d'identification standard ou des rôles IAM pour contrôler l'accès. Bien que simple à configurer, cette approche offre des options limitées par rapport aux autres méthodes d’authentification.

  • API Gateway donne accès à une gamme plus complète d’options d’authentification. Outre l'authentification IAM, vous pouvez utiliser les autorisateurs Lambda (logique d'authentification personnalisée), les groupes d'utilisateurs et les flux Amazon Cognito. OAuth2.0 Cette flexibilité vous permet de mettre en œuvre des schémas d’authentification complexes, notamment des fournisseurs d’authentification tiers, une authentification basée sur des jetons et une authentification multifactorielle.

  • Les URL de fonctions fournissent une gestion de base des requêtes et des réponses HTTP. Elles prennent en charge les méthodes HTTP standard et créent une prise en charge intégrée du partage des ressources entre origines (CORS, cross-origin resource sharing). Bien qu’elles puissent gérer naturellement les charges utiles JSON et les paramètres de requête, elles n’offrent pas de fonctionnalités de transformation ou de validation des requêtes. La gestion des réponses est tout aussi simple : le client reçoit la réponse de votre fonction Lambda exactement telle que Lambda la renvoie.

  • API Gateway fournit des fonctionnalités sophistiquées de gestion des requêtes et des réponses. Vous pouvez définir des validateurs de demandes, transformer les demandes et les réponses à l'aide de modèles de mappage, configurer request/response des en-têtes et implémenter la mise en cache des réponses. API Gateway prend également en charge les charges utiles binaires et les noms de domaine personnalisés et peut modifier les réponses avant qu’elles n’atteignent le client. Vous pouvez configurer des modèles pour la request/response validation et la transformation à l'aide du schéma JSON.

  • Les URL de fonctions s’adaptent directement aux limites de simultanéité de votre fonction Lambda et gèrent les pics de trafic en redimensionnant votre fonction jusqu’à sa limite de simultanéité maximale configurée. Une fois cette limite atteinte, Lambda répond aux requêtes supplémentaires avec des réponses HTTP 429. Il n’existe aucun mécanisme de mise en file d’attente intégré. La gestion de la mise à l’échelle dépend donc entièrement de la configuration de votre fonction Lambda. Par défaut, les fonctions Lambda sont limitées à 1 000 exécutions simultanées par fonction. Région AWS

  • API Gateway fournit des fonctionnalités de dimensionnement supplémentaires en plus de la propre mise à l’échelle de Lambda. Il inclut des commandes intégrées de mise en file d’attente et de limitation des requêtes, ce qui vous permet de gérer les pics de trafic de manière plus élégante. API Gateway peut traiter jusqu’à 10 000 requêtes par seconde et par région par défaut, avec une capacité de débordement de 5 000 requêtes par seconde. Il fournit également des outils pour limiter les requêtes à différents niveaux (API, étape ou méthode) afin de protéger votre dorsal.

  • Les URL des fonctions offrent une surveillance de base via CloudWatch les métriques Amazon, notamment le nombre de demandes, la latence et les taux d'erreur. Vous avez accès aux métriques et aux journaux Lambda standard, qui indiquent les requêtes brutes entrant dans votre fonction. Bien que cela fournisse une visibilité opérationnelle essentielle, les métriques se concentrent principalement sur l’exécution des fonctions.

  • API Gateway fournit des fonctionnalités de surveillance complètes, notamment des métriques détaillées, des options de journalisation et de suivi. Vous pouvez surveiller les appels d'API, la latence, les taux d'erreur et hit/miss les taux de cache via CloudWatch. API Gateway s'intègre également au AWS X-Ray traçage distribué et fournit des formats de journalisation personnalisables.

  • Les URL de fonctions suivent le modèle de tarification Lambda standard : vous ne payez que pour les appels de fonctions et le temps de calcul. Il n’y a pas de frais supplémentaires pour le point de terminaison de l’URL lui-même. Cela en fait un choix rentable pour les API simples ou les applications à faible trafic si vous n’avez pas besoin des fonctionnalités supplémentaires d’API Gateway.

  • API Gateway propose un niveau gratuit qui inclut un million d’appels d’API reçus pour les API REST et un million d’appels d’API reçus pour les API HTTP. Ensuite, API Gateway facture les appels d’API, le transfert de données et la mise en cache (si activée). Reportez-vous à la page de tarification d’API Gateway pour connaître les coûts associés à votre propre cas d’utilisation.

  • Les URL de fonctions sont conçues dans un souci de simplicité et d’intégration directe avec Lambda. Elles prennent en charge les points de terminaison HTTP et HTTPS, offrent une prise en charge CORS intégrée et créent des points de terminaison à double pile (IPv4 et IPv6). Bien qu’elles ne disposent d’aucune fonctionnalité avancée, elles excellent dans les scénarios où vous avez besoin d’un moyen rapide et simple d’exposer les fonctions Lambda via HTTP.

  • API Gateway inclut de nombreuses fonctionnalités supplémentaires telles que le versionnement des API, la gestion des étapes, les clés d'API pour les plans d'utilisation, la documentation des API, les WebSocket API Swagger/OpenAPI, les API privées au sein d'un VPC et l'intégration WAF pour une sécurité accrue. Il prend également en charge les déploiements Canary, les intégrations fictives à des fins de test et l'intégration avec d'autres solutions que Services AWS Lambda.

Sélection d’une méthode pour invoquer votre fonction Lambda

Maintenant que vous avez pris connaissance des critères de sélection entre les URL de fonctions Lambda et API Gateway et des principales différences entre les deux, vous pouvez sélectionner l’option qui répond le mieux à vos besoins et utiliser les ressources suivantes pour vous aider à commencer à l’utiliser.

Function URLs
Mise en route avec les URL de fonctions grâce aux ressources suivantes
  1. Ouvrez la page Fonctions de la console Lambda.

  2. Ouvrez le panneau d’aide en cliquant sur l’icône dans le coin supérieur droit de l’écran.

    Schéma illustrant la barre d’outils de la console Lambda et l’icône du panneau d’aide dans le coin supérieur droit
  3. Sélectionnez Tutoriels.

  4. Dans Créer une application Web simple, choisissez Démarrer le tutoriel.

API Gateway
Mise en route avec Lambda et API Gateway grâce aux ressources suivantes