Bien démarrer avec la console d'API REST - 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.

Bien démarrer avec la console d'API REST

Dans cet exercice de prise en main, vous allez créer une API REST sans serveur à l'aide de la console d'API REST API Gateway. Les API sans serveur vous permettent de vous concentrer sur vos applications, plutôt que de passer du temps à provisionner et gérer des serveurs. Cet exercice devrait prendre moins de 20 minutes et peut être réalisé avec l'offre gratuite AWS.

Vous commencez par créer une fonction Lambda à l'aide de la console Lambda. Ensuite, vous créez une API REST à l'aide de la console d'API REST API Gateway. Ensuite, vous créez une méthode d'API et vous l'intégrez à une fonction Lambda à l'aide d'une intégration de proxy Lambda. Enfin, vous allez déployer et invoquer votre API.

Lorsque vous invoquez votre API REST, API Gateway route la demande vers votre fonction Lambda. Lambda exécute la fonction et renvoie une réponse à API Gateway. API Gateway vous renvoie ensuite cette réponse.

Présentation de l'API REST que vous créez dans ce didacticiel.

Pour effectuer cet exercice, vous avez besoin d'un utilisateur Compte AWS et d'un AWS Identity and Access Management (IAM) ayant accès à la console. Pour plus d’informations, consultez Prérequis pour démarrer avec API Gateway.

Étape 1 : Créer une fonction Lambda

Vous utilisez une fonction Lambda pour le backend de votre API. Lambda exécute le code uniquement lorsque cela est nécessaire et se met à l'échelle automatiquement, qu'il s'agisse de quelques requêtes par jour ou de milliers de requêtes par seconde.

Pour cet exercice, vous utilisez une fonction Node.js par défaut dans la console Lambda.

Pour créer une fonction Lambda
  1. Connectez-vous à la console Lambda à l'adresse https://console.aws.amazon.com/lambda/.

  2. Sélectionnez Create function (Créer une fonction).

  3. Sous Informations de base, pour Nom de la fonction, entrez my-function.

  4. Choisissez Créer une fonction.

Le code de la fonction Lambda par défaut devrait ressembler à ce qui suit :

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('The API Gateway REST API console is great!'), }; return response; };

Vous pouvez modifier votre fonction Lambda pour cet exercice, tant que la réponse de la fonction s'aligne sur le format requis par API Gateway.

Remplacez le corps de réponse par défaut (Hello from Lambda!) par The API Gateway REST API console is great!. Lorsque vous invoquez l'exemple de fonction, il renvoie une réponse 200 aux clients, ainsi que la réponse mise à jour.

Étape 2 : Créer une API REST

Ensuite, vous créez une API REST avec une ressource racine (/).

Pour créer une API REST
  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Effectuez l’une des actions suivantes :

    • Pour créer votre première API, pour API REST, choisissez Création.

    • Si vous avez déjà créé une API, choisissez Créer une API, puis Création pour API REST.

  3. Sous API name (Nom de l'API), saisissez my-rest-api.

  4. (Facultatif) Sous Description, entrez une description.

  5. Laissez Type de point de terminaison d'API défini sur Régional.

  6. Sélectionnez Create API (Créer une API).

Étape 3 : Créer une intégration de proxy Lambda

Ensuite, vous devez créer une méthode d'API pour votre API REST sur la ressource racine (/) et intégrer la méthode à votre fonction Lambda à l'aide d'une intégration de proxy. Dans une intégration de proxy Lambda, API Gateway transmet la demande entrante du client directement à la fonction Lambda.

Pour créer une intégration de proxy Lambda
  1. Sélectionnez la ressource /, puis choisissez Créer une méthode.

  2. Pour Type de méthode, sélectionnez ANY.

  3. Pour Type d'intégration, sélectionnez Lambda

  4. Activez Intégration de proxy Lambda.

  5. Pour Fonction Lambda, entrez my-function, puis sélectionnez votre fonction Lambda.

  6. Choisissez Créer une méthode.

Étape 4 : Déployer votre API

Ensuite, vous devez créer un déploiement d'API et l'associer à une étape.

Pour déployer votre API
  1. Sélectionnez Deploy API (Déployer une API).

  2. Pour Étape, sélectionnez Nouvelle étape.

  3. Sous Stage name (Nom de l'étape), entrez Prod.

  4. (Facultatif) Sous Description, entrez une description.

  5. Choisissez Deploy (Déployer).

Les clients peuvent désormais appeler votre API. Pour tester votre API avant de la déployer, vous pouvez éventuellement choisir la méthode ANY, accéder à l'onglet Tester, puis choisir Tester.

Étape 5 : Invoquer l'API

Pour invoquer votre API
  1. Dans le panneau de navigation principal, choisissez Étape.

  2. Sous Détails de l'étape, choisissez l'icône de copie pour copier l'URL d'invocation de votre API.

    Une fois que vous avez créé votre API REST, la console affiche l'URL d'invocation de votre API.
  3. Entrez cette URL d'invocation dans un navigateur Web.

    L'URL complète doit ressembler à https://abcd123.execute-api.us-east-2.amazonaws.com/Prod.

    Votre navigateur envoie une requête GET à l'API.

  4. Vérifiez la réponse de votre API. Vous devriez voir le texte "The API Gateway REST API console is great!" dans votre navigateur.

(Facultatif) Étape 6 : nettoyer

Pour éviter de vous faire supporter des coûts inutiles Compte AWS, supprimez les ressources que vous avez créées dans le cadre de cet exercice. Les étapes suivantes suppriment votre API REST, votre fonction Lambda, ainsi que les ressources associées.

Pour supprimer votre API REST
  1. Dans le volet Ressources, choisissez Actions d'API, puis Supprimer l'API.

  2. Dans la boîte de dialogue Supprimer l'API, entrez confirm, puis choisissez Supprimer.

Pour supprimer votre fonction Lambda
  1. Connectez-vous à la console Lambda à l'adresse https://console.aws.amazon.com/lambda/.

  2. Sur la page Fonctions, sélectionnez votre fonction. Sélectionnez Actions, Supprimer.

  3. Dans la boîte de dialogue Supprimer 1 fonctions, entrez delete, puis choisissez Supprimer.

Pour supprimer le groupe de journaux de votre fonction Lambda
  1. Ouvrez la page Log groups de la CloudWatch console Amazon.

  2. Sur la page Groupes de journaux, sélectionnez le groupe de journaux de votre fonction (/aws/lambda/my-function). Ensuite, pour Actions, choisissez Supprimer le ou les groupes de journaux.

  3. Dans la boîte de dialogue Supprimer le ou les groupes de journaux, choisissez Supprimer.

Pour supprimer le rôle d'exécution de votre fonction Lambda
  1. Ouvrez la page Roles (Rôles) de la console IAM.

  2. (Facultatif) Sur la page Rôles, dans la zone de recherche, entrez my-function.

  3. Sélectionnez le rôle de votre fonction (par exemple, my-function-31exxmpl), puis choisissez Supprimer.

  4. Dans la boîte de dialogue Supprimer my-function-31exxmpl ?, entrez le nom du rôle, puis choisissez Supprimer.

Astuce

Vous pouvez automatiser la création et le nettoyage des AWS ressources en utilisant AWS CloudFormation or AWS Serverless Application Model (AWS SAM). Pour des exemples de AWS CloudFormation modèles, consultez les exemples de modèles pour API Gateway dans le référentiel awsdocs GitHub .