アプリ開発 インフラ(AWS・GCPなど)

4ステップで簡単にすぐにtweetbotを動かせる!AWS Lambdaの使い方

おはこんばんにちは、こちょすです!

 

今回は、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にすれば、勝手に毎日実行してくれます!便利!

 

-アプリ開発, インフラ(AWS・GCPなど)

© 2022 これブロ