おはこんばんにちは、こちょすです!
今回は、twitterを自動で更新するアプリを作成する方法を説明します!
使うのは前回作成したTwitterbotです!
まだTwitterbotの作り方見てないよーという方は、以下の記事も見てくださいね!
-
たったの3ステップ!pythonで作るtwitterbotの作り方を紹介します!
続きを見る
こんな方におすすめ
- Twitterbotを自動で毎日決まった時間に動かしたい
- 自分でサーバ構築する手間などは極力省きたい
- AWSのサービスを使って見たいけど、何から手をつけていいか分からない
今回使うのは、AWSのサービスの1つ、AWS Lambdaです!
これを使えば簡単に、毎日決まった時刻に、あらかじめ指定した処理を動かすことができます。
AWSってなに??という方は以下を見てみてくださいね!
-
AWSって何??その概要を知ろう!
続きを見る
では早速行きましょう!
目次
tweet自動更新アプリへの道 1. AWSアカウントの作成
tweetを自動化するためには、AWSのサービスの1つであるLambdaを使います。ということで、まずはAWSのアカウントを作成します。
AWSのサービスを利用するためにはAWSのアカウントが必要になります。
以下のサイトから、AWSのアカウントを作成しましょう!
AWSでは1年間は無料で使えるので、この期間を利用して、使い倒しましょうね!💪
tweet自動更新アプリへの道 2.tweepyのダウンロード
pythonのtweepyというライブラリを使えば、プログラミングによってtweetを自動化することができます。
後述するLambdaではPythonが動かせる環境が用意されていますが、使えるのは限定的です。(aws-sdkなど)
今回は外部ライブラリのtweepyを使いたいので、Lambda上で動かすために、tweepyモジュールを用意しましょう。
まずはターミナルでディレクトリを作成します。
作成したディレクトリに移動し、そのディレクトリにpipでモジュールをダウンロードします。
command
~$ mkdir package
~$ cd package
~$ pip install tweepy --target ./
次に、前回作成したtweetbotも同じディレクトリにコピーします。
command
~$ cp twitter_bot.py package/
最後に、このpackageディレクトリに移動し、tweepyとlambda_function.pyをzip形式で圧縮します。
command
~$ cd package
~$ zip -r package.zip .
これでpackage.zipというファイルができれば完成です!
tweet自動更新アプリへの道 3.AWS Lambdaの関数の作成
では自動化のためのLambda関数を書いていきましょう!tweetの楽ちん自動化はもうすぐです!
アカウントの作成が完了したら、AWSマネジメントコンソールにログインします。
ここからAWSのさまざまなサービスにアクセスすることができます。
トップページにある検索バーに、Lambdaと入力しましょう!
検索した結果表示された画面の右上の関数の作成を押します。
関数作成では、以下のように今回は指定してみます。
入力が終わったら、関数の作成を押しましょう!
以下のような画面になれば関数の作成は成功です!
tweet自動更新アプリへの道 4.Tweetbotの登録
ではLambda関数が作れたので、自動更新用のbotを登録しましょう。
といっても、上で作成したLambda関数に対してソースを登録するだけです!
少し下にスクロールしたところに関数コードというのがあるので、この右のほうにあるアクションから、「.zipファイルをアップロード」を選択し、STEP2で作成したpackage.zipをアップロードします。
そして右上の保存を押します。正常に更新ができればOKです!
あとは定時実行の設定です。上の画像のトリガーを追加をクリックします。
遷移先の画面で「Cloud Watch Events/EventBridge」を選択します。
色々な項目がありますが、中でも重要なのが、ルールタイプとスケジュール式の指定です。
今回は定時実行をしたいので、以下のように指定します。
UTC時間での指定なので、日本時間で動かしたい場合には-9時間した時刻を指定する必要があります。
ちなみに、cron式やrate式について馴染みのない方はAWSのページがわかりやすいので、そちらをご覧ください。
AWS lambdaのタイムアウト設定はデフォルトで3秒となっています。
今回のbotでは1回APIを呼び出すごとに10秒のsleepをいれているので、この設定を変更しましょう!
以下の基本設定で、タイムアウトを60秒とします。
ここまでできたら右下の追加を押します。これで完了です!ではテスト実行で動かして見ましょう。
右上のテストイベントの選択から、テストイベントの設定を選びます。
JSONの指定が表示されますが、全て削除して空括弧にしましょう。そして右下の作成ボタンを押します。
では作成したテストを実行してみましょう。右上のテストを押します。
このように成功が出ればうまくいっています!
あとは上で設定したトリガをONにすれば、勝手に毎日実行してくれます!便利!