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é.
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
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)
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.
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
・ Je souhaite l'intégrer dans d'autres flux.
Recommended Posts