lambda を実行すると、手元でハンドラ (の関数) を直接実行した場合とは、若干違う挙動をするために、その微妙な挙動にはまって時間を浪費する、ということがしばしばあります。

python を lambda で動かそうとしているのですが、例えば以下の挙動に遭遇しています。

  • pip パッケージがデプロイ先に含まれていないので、 package が import できずにエラー
  • file permission が 600 であった場合に、 lambda ではこのパーミッションでは読み込めずに import できずにエラー
  • logging モジュールの挙動が手元と違う(原因調査中)

など。


lambda に実際デプロイして、その先で実行を行い、ログを cloud watch などから探し出すのは、手間です。

ローカルから、 lambda の実行環境を(できるかぎり)再現してテストする方法などはありますか?