バケットポリシーの例 - Amazon Simple Storage Service
# chmod 400 ~/.ssh/xxx.pem ←構築時これよく忘れちゃうからメモ。 # ssh -i ~/.ssh/xxx.pem ec2-user@IPアドレス $ cd /var/log/tomcat8/ $ tail -f catalina.out
$ ls -lrt storeRailInfo.lambda -rw-rw-r-- 1 pi pi 681 11月 12 22:48 main.py
このプログラム main.py が別のライブラリたとえば requests に依存していたとする。その場合、依存ライブラリもzipアーカイブして一緒にアップする必要があるが、以下その手順。
$ pip install requests -t storeRailInfo.lambda ... 割愛 $ ls -lrt storeRailInfo.lambda 合計 896 -rw-rw-r-- 1 pi pi 681 11月 12 22:48 main.py drwxr-xr-x 3 pi pi 4096 11月 12 22:52 requests drwxr-xr-x 2 pi pi 4096 11月 12 22:52 requests-2.11.1.dist-info
おなじディレクトリに依存ライブラリが配置された
$ cd storeRailInfo.lambda $ zip storeRailInfo.zip -r ./* $ ls -lrt storeRailInfo.lambda 合計 896 -rw-rw-r-- 1 pi pi 681 11月 12 22:48 main.py drwxr-xr-x 3 pi pi 4096 11月 12 22:52 requests drwxr-xr-x 2 pi pi 4096 11月 12 22:52 requests-2.11.1.dist-info -rw-r--r-- 1 pi pi 904856 11月 13 00:11 storeRailInfo.zip
zipファイルが作成できたので後はこれをアップすればよいです。 大事なのは、ディレクトリごとでなくて、中身を直接アーカイブすること*1
Lambdaの設定で、Configuration >> Handler の箇所はアップしたファイルにあわせて
main.lambda_handler
としましょう。 main.py の、lambda_handlerメソッドをよぶという意味になるみたいですね。