はじめに AWS Lambdaで処理時間が掛かることが想定される場合、どのような対応策があるでしょうか?Lambdaを諦める?(これも1つの選択肢だと思います)、一回のデータ処理量を減らして処理時間を短くする、など色々な方法が考えつくと思います。 今回は1つの対応策として、処理時間が掛かる処理を複数に分割して別Lambda関数として動かす事を考えてみました。処理を分割してQueueに登録し、Queue毎に別Lambda関数を起動するサンプルを作成してみたので、それを中心に書きたいと思います。尚、実装言語はPythonとなります。 処理概要 今回の処理概要を図にすると以下のようになります。 Pythonにより実装したLambda関数、SQS、DynamoDBを組み合わせました。一番左の「main.py」がタスクをQueueに分割してSQSに登録します。定期的に動いている「consumer.p