【AWS】Lambda関数実行時にエラー発生!そんなモジュールインポートしてないよ。とお怒られたらLayerを追加する(”errorMessage”: “Unable to import module ‘XXXX’: No module named ‘????'”,)

以前の投稿で、Lambda関数を実行した際インポートされていない外部ライブラリがあったため、エラーになることを補記いたしました。

エラーが発生した場合は、Layerを追加してあげる必要があるのですが、この作業がなかなか手間です。

【AWS】Lambda関数とS3を連携する! 外部API(J-Quants)から株価データを取得してみた。

2023年12月24日
禄太
学習目的であるなら、なおさら億劫に感じてしまいます。

そんな時は、すでにパッケージを提供してくれている方のお力を借りましょう!

目次

GitHubにPython用ライブラリが展開されているので利用する

GitHubで、Python用のライブラリを提供してくれている方を見つけました。

以下のボタンからGitHubに飛ぶことができます。

deploymentsの配下に、Pythonのバージョンがそれぞれ掲載されています。

deployments > pythonのバージョン > リージョン の順番で選択していけば、提供物にたどり着くことができます。

CSVやJSON形式でダウンロードすることができます。

例えば、Python3.11のCSVをダウンロードしたければ、ここからダウンロードすることができます!

Lambda関数のコンソール画面から追加する

1.コンソール画面を開き、関数の概要欄から【Layers】を選択する

 選択すると、レイヤー欄に遷移するので、【レイヤーを追加】ボタンを押下します。

2.ダウンロードしたCSVの中から、利用したいパッケージを検索しARNを追加します。

 CSVの中には、PythonパッケージのARNが記載されています。

 それらの中から、必要なパッケージを選択してARNを設定の項目で追加していきます。

禄太
私の場合は、「requests」と「pandas」を利用したかったので、その二つをレイヤーに追加しました。。

EOF

GitHubで提供してくださっている方のおかげで、非常に学習が捗りました。

すでにアップロードしてくださっている方のお力を借りながら、これからも続けていきたいと思います。

どなたかのお役に立てれば幸甚です。