Ich dachte, es wäre praktisch, wenn ich regelmäßig mit Lambda auf AWS auf Twitter posten könnte, also fasste ich es zusammen.
Ich habe Docker verwendet, um nicht standardisierte Bibliotheken mit Lambada zu verwenden. Es ist praktisch, lambci / docker-lambda zu verwenden, um Docker mit Lambda zu verwenden. Dieser Artikel war hilfreich. [Reproduktion der lokalen Entwicklungsumgebung mit 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 *
Ich bin mir nicht sicher über die Optionen für "zip -9".
requirements.txt
twitter
Sie können einfach über die Bibliothek hier twittern sixohsix / twitter. Artikel, die ich als Referenz verwendet habe ・ Mit Python3 einfach auf Twitter posten
lambda_funcyion.py
import twitter
def lambda_handler(event, context):
auth = twitter.OAuth(
token="Zeichen",
token_secret="Token Geheimnis",
consumer_key="Schlüssel",
consumer_secret="Geheimnis"
)
context = 'Ich habe heute auch mein Bestes gegeben!'
t = twitter.Twitter(auth=auth)
t.statuses.update(status=context)
Es ist mühsam, es Lambda einzeln zu geben und es zu überprüfen, also überprüfen Sie es lokal.
$ docker run -v "$PWD":/var/task lambci/lambda:python3.8 lambda_function.lambda_handler [event]
Sie sollten damit posten.
Stellen Sie sie zunächst in einer Zip-Datei zusammen.
$ docker build -t mylambda .
$ docker run -v "$PWD":/var/task mylambda
Erstellen Sie als Nächstes eine Lambda-Funktion über die AWS-Konsole.
Laden Sie die Zip-Datei hoch
Registrieren Sie Umgebungsvariablen
Es ist in Ordnung, wenn Sie den Zeitpunkt der regulären Ausführung registrieren können!
Referenz
・ Ich möchte es in andere Flows integrieren.
Recommended Posts