目次

目次

Lambdaで共通処理

高橋克幸
高橋克幸
最終更新日2018/03/26 投稿日2018/03/26

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年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。

目次