J'ai écrit une API REST à l'aide d'AWS API Gateway et de Lambda, alors prenez-en note. Est-il possible d'éviter de configurer un serveur avec EC2 en utilisant API Gateway et Lambda en combinaison?
Tout d'abord, connectez-vous à AWS Management Console, puis sélectionnez AWS Lambda. Si vous n'avez jamais créé de fonction Lambda, sélectionnez le bouton Commencer maintenant.
Appuyez sur le bouton Commencer maintenant pour voir un exemple de liste de fonctions Lambda. Cette fois, nous allons en créer un nouveau, alors sélectionnez le bouton "Ignorer" en bas à droite.
Si vous sélectionnez le bouton «Ignorer», l'écran de création d'une fonction Lambda apparaîtra, nous en décrirons donc les détails.
Tout d'abord, spécifiez le nom et la langue de la fonction. Spécifiez "hello_world" pour le nom de la fonction et "Python 2.7" pour le langage.
Vient ensuite le code réel. Collez le code ci-dessous dans votre éditeur en ligne. Code simple qui renvoie simplement {'message': 'Hello World!'}.
import json
def lambda_handler(event, context):
return {'message': 'Hello World!'}
Ensuite, définissez le rôle. Vous pouvez utiliser un rôle existant, mais cette fois, nous en créerons un nouveau. Sélectionnez la liste déroulante Rôle et sélectionnez "Rôle d'exécution de base".
Si vous sélectionnez "Rôle d'exécution de base", l'écran suivant s'ouvre. Ici, le rôle IAM est "Créer un nouveau rôle IAM" et le nom du rôle est "lambda_basic_execution". Lorsque vous avez terminé, sélectionnez le bouton Autoriser pour créer le rôle.
Cliquez sur le bouton "Autoriser" pour revenir à l'écran d'origine. Cette fois, nous ne définirons pas la mémoire ou le délai d'expiration, il suffit donc de sélectionner le bouton "Suivant".
Lorsque vous sélectionnez le bouton «Suivant», un écran de confirmation s'affiche. Sélectionnez le bouton Créer une fonction pour créer une fonction Lambda.
Ceci termine la création de la fonction Lambda. Sélectionnez le bouton "Test" et vérifiez si le "Résultat d'exécution" est le suivant.
{
"message": "Hello World!"
}
Après avoir créé la fonction Lambda, revenez à l'écran d'accueil de la console de gestion et sélectionnez API Gateway. Si vous n'avez jamais créé d'API, sélectionnez le bouton Commencer maintenant.
L'écran de saisie du nom de l'API s'affiche. Saisissez "Hello API" pour le nom de l'API, puis sélectionnez le bouton "Créer une API".
Créez ensuite la ressource. Sélectionnez le bouton "Créer une ressource". Entrez ensuite Hello pour le nom de la ressource et sélectionnez le bouton Créer une ressource.
Après avoir créé la ressource, attribuez une méthode à la ressource créée. Assurez-vous que le "/ hello" que vous avez créé est sélectionné, puis sélectionnez le bouton "Créer une méthode". Ensuite, une liste déroulante apparaîtra sous "/ bonjour", alors sélectionnez "GET".
Après cela, si vous sélectionnez le bouton à cocher (☑) à droite du nom de la méthode, vous pourrez sélectionner Fonction Lambda ou Proxy HTTP comme Type d'intégration, alors sélectionnez Fonction Lambda. Pour la région Lambda, sélectionnez la région dans laquelle vous avez créé la fonction Lambda et, pour la fonction Lambda, entrez le nom de la fonction Lambda que vous avez créée précédemment, "hello_world". Après avoir tout réglé, sélectionnez le bouton "Enregistrer".
Lorsque vous voyez «Ajouter une autorisation à la fonction Lambda», sélectionnez «OK». Ceci termine la création.
Essayez de tester l'API que vous avez créée en sélectionnant le bouton "Tester". Si vous regardez le corps de la réponse, vous devriez voir que la fonction Lambda est en cours d'exécution.
{
"message": "Hello World!"
}
Sélectionnez le bouton "Déployer l'API" sur le côté gauche de l'écran.
Lorsque vous sélectionnez le bouton «Déployer l'API», l'écran suivant apparaît. Entrez «Nouvelle étape» comme étape de déploiement et «bêta» comme nom de l'étape, puis sélectionnez le bouton «Déployer».
L'URL d'appel s'affiche.
Veuillez ajouter "/ hello" après la version bêta dans l'URL avant d'accéder. Si ce qui suit est affiché, cela réussit. Je vous remercie pour votre travail acharné.
{"message": "Hello World!"}
Recommended Posts