Top / AWS / TIPS集

Pythonでsubstring

key = 'temperature_130010.json'
city_code = key[len('temperature_'):-5]
-> 130010

S3で匿名ユーザにバケット全体をRead Onlyで公開する

バケットポリシーの例 - Amazon Simple Storage Service

BeanStalk?で作ったTomcatのログへアクセス

# chmod 400 ~/.ssh/xxx.pem   ←構築時これよく忘れちゃうからメモ。
# ssh -i ~/.ssh/xxx.pem  ec2-user@IPアドレス
$ cd /var/log/tomcat8/
$ tail -f catalina.out

AWS Lambdaで、他のライブラリを使用したい場合

$ 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メソッドをよぶという意味になるみたいですね。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / AWS / TIPS集

現在のアクセス:240


*1 解凍するとカレントで展開されてしまう状態ってこと

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-11-24 (木) 18:34:14 (186d)