[PYTHON] Publiez régulièrement sur Twitter en utilisant AWS lambda!

Aperçu

J'ai pensé que ce serait pratique si je pouvais publier régulièrement sur Twitter en utilisant Lambda sur AWS, alors je l'ai résumé. スクリーンショット 2020-10-16 23.34.23.png

Procédure de création

Flux de création

  1. Créez un environnement avec Docker
  2. Publication Twitter de Python

Détails

1. Création d'un environnement Lambda avec Docker

J'ai utilisé Docker pour utiliser des bibliothèques non standard avec lambada. Pour utiliser docker avec lambda, il est pratique d'utiliser lambci / docker-lambda. Cet article a été utile. [Reproduction de l'environnement de développement local avec AWS Lambda x Python](https://qiita.com/i35_267/items/15b981acae8cf7c763ae#-docker-lambda%E3%82%92%E8%A7%A6%E3%81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B)

Dockerfile


FROM lambci/lambda:build-python3.8
ENV AWS_DEFAULT_REGION ap-northeast-1

ADD . .

CMD pip3 install -r requirements.txt -t /var/task && \
  zip -9 deploy_package.zip lambda_function.py && \
  zip -r9 deploy_package.zip *

Je ne suis pas sûr des options pour zip -9.

requirements.txt


twitter

2. Message Twitter

Vous pouvez facilement tweeter en utilisant la bibliothèque ici sixohsix / twitter. Articles que j'ai utilisés comme référence ・ Publiez facilement sur Twitter avec Python3

lambda_funcyion.py


import twitter

def lambda_handler(event, context):
    
    auth = twitter.OAuth(
      token="jeton", 
      token_secret="Secret de jeton", 
      consumer_key="Clé", 
      consumer_secret="secret"
    )
    context = 'J'ai aussi fait de mon mieux aujourd'hui!'
    t = twitter.Twitter(auth=auth)
    t.statuses.update(status=context)
   
    

3. Débogage local

Il est difficile de le donner à lambda un par un et de le vérifier, alors vérifiez-le localement.

$ docker run -v "$PWD":/var/task lambci/lambda:python3.8 lambda_function.lambda_handler [event]

Vous devriez publier avec ça.

4. Déployer

Tout d'abord, rassemblez-les dans un fichier zip.

$ docker build -t mylambda .
$ docker run -v "$PWD":/var/task mylambda

Ensuite, créez une fonction lambda à partir de la console AWS.

Télécharger le fichier zip

Enregistrer les variables d'environnement

Ce n'est pas grave si vous pouvez enregistrer l'heure de l'exécution régulière!

référence

Impressions ・ Futur ...

・ Je souhaite l'intégrer dans d'autres flux.

Recommended Posts

Publiez régulièrement sur Twitter en utilisant AWS lambda!
Publier sur Twitter en utilisant Python
[Lambda] [Python] Publier sur Twitter depuis Lambda!
J'ai essayé de supprimer régulièrement les mauvais tweets avec l'API AWS Lambda + Twitter
Comment configurer Layer sur Lambda à l'aide d'AWS SAM
J'ai essayé d'obtenir une AMI en utilisant AWS Lambda
Publiez sur votre compte en utilisant l'API sur Twitter
Web scraping à l'aide d'AWS lambda
Publiez régulièrement des images de Papillon sur Python + AWS Lambda + Slack
Récapitulatif si vous utilisez AWS Lambda (Python)
Tweet Récapitulatif WakaTime à l'aide d'AWS Lambda
Publiez facilement sur Twitter avec Python 3
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Connectez-vous à s3 avec AWS Lambda Python
Résumé de l'écriture d'AWS Lambda
[Introduction à AWS] Le premier Lambda est Transcribe ♪
N'hésitez pas à transformer Python en utilisant la bibliothèque en une fonction AWS Lambda
Publiez le titre en plein essor de YouTube sur Twitter avec python3
[AWS / Lambda] Comment charger une bibliothèque externe Python
Résumé de l'étude de Python pour utiliser AWS Lambda
J'ai essayé de créer un environnement à vérifier régulièrement en utilisant Selenium avec AWS Fargate
J'ai essayé d'utiliser Twitter Scraper avec AWS Lambda et cela n'a pas fonctionné.
Remarque pour le traitement des données POST en se connectant à Lambda via la passerelle API d'AWS (API HTTP)
Une petite histoire à savoir comme un point addictif lors de l'écriture d'applications Twilio à l'aide de Python sur AWS Lambda
Terraform configuré pour lancer AWS Lambda à partir d'Amazon SQS
Vérifiez types_map lors de l'utilisation de mimetypes avec AWS Lambda (Python)
Amazon SNS → AWS Lambda → Slack → Exécuter des commandes AWS sur AWS Chatbot
Essayez de supprimer des tweets en masse à l'aide de l'API de Twitter
Je veux AWS Lambda avec Python sur Mac!
Tweet d'AWS Lambda
Rechercher sur Twitter avec Python
Exemple d'utilisation de lambda
J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
Essayez les destinations AWS Lambda
[LINE Notify API, AWS] Envoyez régulièrement des tweets bourdonnants au groupe LINE
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
Points addictifs lors du téléchargement de fichiers à l'aide de boto sur AWS Lambda
Exporter les journaux CloudWatch vers S3 avec AWS Lambda (Pythyon ver)
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
[Python] Exportez régulièrement de CloudWatch Logs vers S3 avec Lambda
Déployez des modules externes (numpy, scipy, requêtes, etc.) sur AWS Lambda
Couches AWS Lambda Une explication rapide de la création à la liaison
[Python] Permet d'importer les packages pip3 sur AWS Lambda
Envoyer une demande d'AWS Lambda à Amazon Elasticsearch Service