lambda での実行テストを行うには？


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

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

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

など。

* * *

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

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




[emulambda](https://github.com/fugue/emulambda) があります。  
Amazon の物ではなく、Fugue 社が作っている物のようです。

* * *

Google Cloud Functions だと公式で [Google Cloud Functions
Emulator](https://github.com/GoogleCloudPlatform/cloud-functions-
emulator)があります。  
（あ、似た物という事で出しましたが、これは Python ではなかったですね。さらに離れますが、Google App Engine
もローカル環境が公式に提供されています）

