LoginSignup
0
2

More than 1 year has passed since last update.

【Python】AWS SAMでLambdaの外部モジュールのバージョンを固定する

Last updated at Posted at 2023-01-24

はじめに

外部モジュールを使用するLambdaではモジュールをアップロードする必要があります。
AWS SAMを使うと簡単にソースコードとモジュールを一緒にアップロードする事が可能です。
AWS SAMである関数に久しぶりにdeployを行った時に、モジュールのバージョンを固定する必要がありました。

やらかし先生

RDSに接続するPythonのLambdaで pymsqlを使用しています。
RDS接続には関与しない変更を行いデプロイしたところ、RDSへの接続がエラーになりました:scream:

原因としてはpymysqlのバージョンが0.9系から1.0系に変更されていたため、同じ構文では接続が出来なくなっていました。
そのためpymysqlのバージョンを0.9系に固定する回避策を行いました。

モジュールのバージョン固定方法

結論

requirements.txt でバージョンを明記します

例 pymysqlを0.9.3のバージョンを指定したい時
pymysql == 0.9.3

記述方法について

上記の指定方法はAWS SAMに限ったわけではなく、Pythonにおけるrequirements.txtの扱いになります。
指定方法などは以下の記事が参考になりました。

おわりに

更新時の落とし穴になるので、出来る限りバージョンは指定しておきたいなと思いました。
どなたかの助けになれば幸いです。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2