この記事は最終更新日から1年以上が経過しています。
Pythonのデコレーターで実現する。
デコレーターに共通処理を記述し、デコレーターをモジュールとして各Lambda関数でインポートする。
デコレーターの実装
def pre_processing(data): # 前処理 ・ ・ ・ return data def post_processing(response): # 後処理 ・ ・ ・ return response def decorator(func): import functools @functools.wraps(func) def wrapper(*args, ** kwargs): data = pre_processing({'event': args[0], 'context': args[1]}) # Lambda関数実行 response = func(*(data['event'], data['context']), **kwargs) response = post_processing(response) return response return wrapper |
Lambda関数の実装
from common.decorator import decorator @decorator def lambda_handler(event, context): ・ ・ ・ return response |
注意
依存しているLambda は全て更新する必要があります。
対応として全ての Lambda を更新するようにスクリプトを書いています。
この記事を書いた人
-
新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。
最近書いた記事
- 2019.06.26コンテナイメージの縮小
- 2019.05.27Chromeのユーザ切り替えで複数のAWS環境の管理をわかりやすくする
- 2019.04.15ECRのライフサイクルポリシー
- 2019.03.29KongでOAuth2の認証手順