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.
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 | |
Choice | |
Shuffle | |
Weather | |
News |
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.
S'il y a une telle chose, s'il y a quelque chose d'utile, j'attends les commentaires.
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.
fin
Recommended Posts