[PYTHON] Tweet d'AWS Lambda

introduction

Nous continuerons à créer une fonction de notification automatique pour laisser des informations. Dans l'article précédent, j'ai pu envoyer des informations de localisation de mon smartphone à AWS. Ensuite, utilisez AWS Lambda pour vous connecter à Twitter.

À propos des moyens de notification

En principe, la destination de la notification est supposée être l'iPhone de ma femme, je ne souhaite donc pas définir de paramètres spéciaux. Les méthodes suivantes peuvent être utilisées pour notifier facilement un smartphone tiers depuis AWS. ・ LineBot ・ TwitterBot ·Email Parmi ceux-ci, nous vous en informerons via Twitter, qui semble être le plus rapide à mettre en œuvre. (Veuillez me faire savoir s'il existe un moyen plus simple.)

Inscription à l'API Twitter

Comme Bot, pour tweeter à l'aide d'un programme, vous devez vous inscrire pour utiliser l '"API Twitter". Si vous n'avez pas encore enregistré votre compte Twitter, veuillez le faire avant de vous inscrire. Si vous n'enregistrez pas votre adresse e-mail dans votre compte, vous ne pourrez pas vous inscrire pour utiliser l '«API Twitter».

Accédez au site suivant et inscrivez-vous pour utiliser l'API Twitter. https://developer.twitter.com/en/apps

7.PNG

L'utilisation prévue est demandée. Cette fois, je vais créer un bot en tant qu'amateur, alors sélectionnez "Créer un robot"

8.PNG

Après cela, je répondrai aux questions d'une manière simple. 9.PNG

Cela peut prendre un certain temps pour certaines personnes car elles doivent répondre en anglais. a.PNG

Enfin, un écran de confirmation apparaîtra, alors cliquez sur "Ça a l'air bien!". b.PNG

Lisez le traité d'utilisation. c.PNG

Si cet écran apparaît, c'est OK. Un e-mail de confirmation est arrivé à l'adresse e-mail enregistrée, alors ouvrez-le et inscrivez-vous. d.PNG

Paramètres initiaux de l'API Twitter

Lorsque vous vous connectez à l'écran des développeurs Twitter, le nom de l'application vous sera demandé, alors répondez de manière appropriée.

e.PNG

Ici, vous verrez la clé pour tweeter à partir du programme, mais vous pouvez l'ignorer en toute sécurité car elle sera rééditée plus tard. Cliquez sur Tester un point de terminaison.

f.PNG

Après avoir enregistré l'application, définissez les autorisations. Dans l'état initial, vous ne pouvez lire que les tweets. Si vous ne définissez pas cette autorisation, vous ne pourrez pas tweeter à partir du programme et une erreur se produira plus tard.

Ouvrez le "Portail des développeurs" en haut à droite de l'écran.

F2.PNG

Sélectionnez le nom de l'application que vous avez nommé précédemment dans «Projet et applications» sur l'onglet sur le côté gauche de l'écran. Ensuite, l'écran de configuration de l'application apparaîtra, cliquez donc sur "Modifier" dans "Autorisations de l'application".

h.PNG

Puisqu'il est en lecture (lecture seule), changez-le en "Lecture + Écriture + Message direct".

q.PNG

Ensuite, vérifiez la clé et le jeton pour utiliser l'API. Régénérez "API Key & Secret" et notez (1) clé API et (2) clé API secrète. En outre, générez "Access Token & Secret" et notez ③ Access token, Access et ④ token secret. Vous saisirez ultérieurement ces quatre informations dans AWS Lambda.

g.PNG

Ceci termine les paramètres de l'API Twitter.

Créer AWS Lambda

Créez une fonction à partir de "Lambda> Fonction". Sélectionnez Référentiel d'applications sans serveur> Applications publiques, recherchez «iot» et sélectionnez iot-twitter-bridge. 6.PNG

Dans les paramètres de l'application, saisissez les quatre informations que vous avez notées précédemment dans l'API Twitter. La terminologie n'est pas unifiée, mais CONSUMER_KEY est la clé API. 図1.png

Vous venez de créer une fonction Lambda. k.PNG

Vérifions le code de fonction par défaut. Au format json, l'ID de périphérique et le texte entrant sont saisis à partir du déclencheur, et cela semble être un mécanisme pour tweeter les informations. Pour le moment, laissez la fonction telle quelle et testez la connexion avec l'API Twitter. n.PNG

tester

Créez un événement de test. Créez un événement twitterTest en utilisant le modèle hello-worrld comme indiqué dans l'image ci-dessous. r.PNG

Pour le moment, collez le contenu.

{
  "deviceID": "6060",
  "incomingText": "twitter from aws"
}

Tester Si Success s'affiche comme indiqué dans l'image ci-dessous, cela signifie qu'il est réussi. t.PNG

Vérifiez également le côté Twitter. u.PNG Merci pour votre soutien.

En passant, si vous testez avec le même contenu, vous obtiendrez une erreur. Il semble que ce soit une spécification de Twitter pour empêcher la publication continue avec le même contenu.

details: {u'errors': [{u'message': u'Status is a duplicate.', u'code': 187}]}

en conclusion

Dans le but de créer une fonction de notification automatique de congé, j'ai pu tweeter depuis AWS. Après cela, il semble que vous puissiez le faire en connectant Iot et Lambda et en jouant un peu avec la fonction.

URL de référence

Je suis toujours reconnaissant.

Créer une application Twitter https://yosiakatsuki.net/blog/create-twitter-application/

Recommended Posts

Tweet d'AWS Lambda
Exécutez BigQuery à partir de Lambda
Essayez les destinations AWS Lambda
Terraform configuré pour lancer AWS Lambda à partir d'Amazon SQS
[Python] Scraping dans AWS Lambda
L'implémentation la plus simple d'AWS Lambda
Interroger Athena depuis Lambda Python
Web scraping à l'aide d'AWS lambda
Remarques sur l'accès à SQS depuis AWS VPC Lambda via un point de terminaison
Couches AWS Lambda Une explication rapide de la création à la liaison
Envoyer une demande d'AWS Lambda à Amazon Elasticsearch Service
Une histoire à laquelle j'étais accro à appeler Lambda depuis AWS Lambda.
lambda
Obtenez l'historique des tweets de célébrités sur Twitter
Récapitulatif si vous utilisez AWS Lambda (Python)
[AWS] Créer une API avec API Gateway + Lambda
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Ecrire une fonction AWS Lambda en Python
Précautions lors de l'exécution de Python sur EC2 à partir d'AWS Lambda (Exécuter la commande)
Manipulation des données Kintone avec le pilote ODBC Python & C Data d'AWS Lambda
Essayez de fournir des variables d'environnement AWS Lambda?
Faites fonctionner Dynamodb depuis Lambda comme SQL
Notifier HipChat avec AWS Lambda (Python)
Développement AWS Lambda Mes meilleures pratiques
Python appelant l'API Google Cloud Vision depuis LINE BOT via AWS Lambda
Présentation du mécanisme Twilio # 3-1 - Procédure pas à pas de mise en œuvre de la passerelle API API + Lambda (partie 1)
Le module ne peut pas être importé en Python sur EC2 exécuté à partir d'AWS Lambda
Changer l'instance AWS EC2 de t2 à t3
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Créez wordcloud à partir de votre tweet avec python3
Environnement lorsque des bibliothèques natives sont incluses dans AWS Lambda
Tweet de python avec Twitter Developer + Tweepy
Publiez régulièrement sur Twitter en utilisant AWS lambda!
[AWS] Associez Lambda et S3 à boto3
[Python] Exécutez Headless Chrome sur AWS Lambda
Connectez-vous à s3 avec AWS Lambda Python
[AWS] Faites des choses de type SSI avec S3 / Lambda
Résumé de l'écriture d'AWS Lambda
Je viens de faire FizzBuzz avec AWS Lambda
[AWS; Introduction à Lambda] 2ème; Extraire des phrases du fichier json et enregistrer S3 ♬
Créez des paramètres dans terraform pour envoyer des messages depuis AWS Lambda Python3.8 vers Slack
[AWS] Résolution d'un problème où Lambda appelé depuis CodePipeline est toujours en cours