Open8

読者コミュニティ|PythonでAWS Lambdaを利用して特定の競走馬がいると自動ツイートするTwitter BOTの作り方

ピン留めされたアイテム
元小池元小池

書籍に関する質問・コメントなどはこちらにお願いします。

ikmzkroikmzkro

06AWS 運用編/4.レイヤー追加

下記2点が旧バージョンのためレイヤーを追加できません。

4	tweepy  arn:aws:lambda:ap-northeast-1:99999999999:layer:tweepy:1
5	oauthlib arn:aws:lambda:ap-northeast-1:99999999999:layer:oauthlib:2

私の方で追加したレイヤーはV1対応のため下記実装にてtweepy.Clientがうまく参照できないようです。

tweetBot.py
# ツイートクライアント
client = tweepy.Client(

...
元小池元小池

ikmz0104さん
こちらのtweepyのレイヤーですが、「Twitter API V2」非対応のため、
当方にて作成したレイヤー(バージョンは、tweepy-4.10.0)となります。
※Klayers方のバージョンは、おっしゃる通りtweepy-3.9.0となっており、動かなかったため、独自のレイヤーを作成しております。

おそらくですが、Twitterのアカウント設定が、「Twitter API V2」をご利用できない環境となっておりませんでしょうか?

https://developer.twitter.com/en
のダッシュボードを開いた際に、「Twitter API V2」対応のバージョンとなっておりますでしょうか?

また、エラー内容なども共有頂きたいと思います。

ikmzkroikmzkro

@motokoikeさん
ご返信いただきありがとうございます。

こちらのtweepyのレイヤーですが、「Twitter API V2」非対応のため、
当方にて作成したレイヤー(バージョンは、tweepy-4.10.0)となります。
※Klayers方のバージョンは、おっしゃる通りtweepy-3.9.0となっており、動かなかったため、独自のレイヤーを作成しております。

なるほど理解しました。独自レイヤでしたか(__)

おそらくですが、Twitterのアカウント設定が、「Twitter API V2」をご利用できない環境となっておりませんでしょうか?

大丈夫そうです!

また、エラー内容なども共有頂きたいと思います。

レイヤーの追加ができていないので、単に読みめていないだけですね(__)

Response
{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'tweepy'",
  "errorType": "Runtime.ImportModuleError",
  "stackTrace": []
}

元小池元小池

ikmz0104 さん
他人がレイヤーを参照することができない設定でした。
失礼致しました。

https://dev.classmethod.jp/articles/share-aws-lambda-layers-with-other-accounts/
のサイトを参考に、「tweepy」と「oauthlib」を許可してみました。

お手数をおかけしますが、レイヤーの追加をお願い致します。

また、ARNですが、こちらのスレッドには、以下のように、マスクしていただけると助かります。

arn:aws:lambda:ap-northeast-1:99999999999:layer:tweepy:1

ikmzkroikmzkro

年始にもかかわらずご丁寧に対応いただきありがとうございます🙇
設定した結果をまたご報告いたします!

ikmzkroikmzkro

motokoikeさん

テスト2通り成功しました!ご対応いただきありがとうございます。

また、ARNですが、こちらのスレッドには、以下のように、マスクしていただけると助かります。

こちらも修正済みです。大変失礼いたしました。

元小池元小池

ikmz0104 さん
ご確認ありがとうございます🙇‍♂️
また何かあれば仰って下さい