LINE BOT avec Python + AWS Lambda + API Gateway

title.png

Introduit parce que j'ai conçu LINE BOT pour jouer avec API Gateway + AWS Lambda. J'omettrai comment créer LINE BOT car les documents officiels et le SDK de Python sont substantiels.

Le code source est publié sur Github, veuillez donc vous y référer si vous le souhaitez.

Liste des fonctions

Fonctionnalités implémentées

Les commandes «actualités» et «météo» semblent être bonnes pour l'histoire, et il semble que les connaissances les utilisent réellement en groupe. De manière surprenante, la commande choice est également un peu utilisée.

une fonction Etat
Greeting greeting.png
Choice choice.png
Shuffle shuffle.png
Weather weather.png
News news.png

Les nouvelles étaient initialement tirées du RSS de Yahoo NEWS, mais je les ai remplacées par Google NEWS car certaines d'entre elles pouvaient prendre des images miniatures.

Ce que je veux faire

S'il y a une telle chose, s'il y a quelque chose d'utile, j'attends les commentaires.

Framework sans serveur Python

A partir de là, c'est une petite histoire technique. Lambda seul peut être facilement géré à partir de l'AWS CLI sans utiliser de framework, mais API Gateway est assez difficile à utiliser avec l'AWS CLI. J'avais toujours l'impression qu'il serait plus facile d'ouvrir le site Web AWS dans un navigateur et de le faire fonctionner manuellement. À mesure que le nombre de points de terminaison augmente, il est difficile sans une infrastructure capable de bien configurer API Gateway.

Si vous recherchez, il existe deux frameworks sans serveur populaires en Python.

Zappa

Au début, j'ai regardé le code Zappa, mais il convertit l'événement passé d'API Gateway à Lambda en WSGI Environ, et il fonctionne avec des frameworks WSGI comme Flask et Django. Après cela, il semble qu'API Gateway soit défini en générant un fichier pour AWS CloudFormation à partir de la définition d'URL de chaque framework au moment du déploiement.

Chalice

Contrairement à Zappa, Chalice ne se convertit pas en WSGI et se spécialise dans API Gateway. Le code source est facile à comprendre car il n'est pas gaspillé. Dans le cas de Zappa, vous devez vous demander si la fonction Flask fonctionne vraiment via API Gateway, mais il y a un sentiment de sécurité que la fonction décrite dans le document calice fonctionnera correctement.

J'ai essayé d'utiliser Chalice cette fois, mais le code est simple et assez facile à gérer.

Résumé

fin

Recommended Posts

LINE BOT avec Python + AWS Lambda + API Gateway
[AWS] Créer une API avec API Gateway + Lambda
Essayez d'implémenter un robot Cisco Spark avec AWS Lambda + Amazon API Gateway (Python)
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
[AWS SAM] Créer une API avec DynamoDB + Lambda + API Gateway
[AWS] Essayez de tracer API Gateway + Lambda avec X-Ray
Version Amazon API Gateway et AWS Lambda Python
AWS CDK-Lambda + API Gateway (Python)
Création d'un BOT «Présentation non officielle du produit remis à neuf par Apple» avec l'API de messagerie LINE (v2) + API Gateway + lambda (python)
Python appelant l'API Google Cloud Vision depuis LINE BOT via AWS Lambda
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
[LINE Messaging API] Créer un BOT de retour de perroquet avec Python
Notifier HipChat avec AWS Lambda (Python)
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Connectez-vous à s3 avec AWS Lambda Python
API REST facile avec API Gateway / Lambda / DynamoDB
Envoyer les images prises avec ESP32-WROOM-32 vers AWS (API Gateway → Lambda → S3)
[LINE Messaging API] Créez un BOT qui se connecte à quelqu'un avec Python
J'ai essayé ChatOps avec Slack x API Gateway x Lambda (Python) x RDS
[Python] J'ai écrit une API REST en utilisant AWS API Gateway et Lambda.
Afficher les images sur S3 avec API Gateway + Lambda
Créer un LINE BOT avec Minette pour Python
Application sans serveur avec AWS SAM! (APIGATEWAY + Lambda (Python))
[AWS] J'ai créé un BOT de rappel avec LINE WORKS
[Python] Utilisation de l'API Line [1ère création de Beauty Bot]
J'ai essayé de faire LINE BOT avec Python et Heroku
Déployer la fonction Python 3 avec Serverless Framework sur AWS Lambda
Créer une couche pour AWS Lambda Python dans Docker
Je veux AWS Lambda avec Python sur Mac!
Procédure de création d'un Line Bot sur AWS Lambda
Créez des tweets ordinaires comme une flotte avec AWS Lambda et Python
[Super facile] Faisons un LINE BOT avec Python.
Comment faire fonctionner l'API Discord avec Python (enregistrement de bot)
Utiliser l'API Trello avec python
Exploitez TwitterBot avec Lambda, Python
[Python] Scraping dans AWS Lambda
Utiliser l'API Twitter avec Python
API Web avec Python + Falcon
PyTorch avec AWS Lambda [importation Lambda]
Appelez l'API avec python3.
Utiliser l'API subsonique avec python3
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
Surveillance du site et notification d'alerte avec AWS Lambda + Python + Slack
[AWS] J'ai créé un BOT de rappel avec LINE WORKS (implémentation)
J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
[Python] Créez votre propre bot LINE
Créer Awaitable avec l'API Python / C
Obtenez des avis avec l'API googlemap de python
Exécutez Rotrics DexArm avec l'API Python
Extraction de texte avec AWS Textract (Python3.6)
Détection de visage avec Lambda (Python) + Rekognition
Imprimez avec python3 sans interruption
Ecrire une fonction AWS Lambda en Python
Exécutez Python selon la planification sur AWS Lambda
Accédez à l'API Etherpad-lite avec Python