あるスタートアップが、画像リサイズ処理をAWS Lambdaで実装した。開発者がLambda関数のハンドラコードを次のように記述した場合、AWSが正しく呼び出せるハンドラ設定として適切なものはどれか。 ファイル名: image_processor.py 関数定義: def resize_handler(event, context):
- A. resize_handler.image_processor
- B. image_processor/resize_handler
- C. lambda_function.handler
- D. image_processor.resize_handler
解答と解説を見る
正解: D
LambdaのPythonハンドラ設定は「ファイル名(拡張子なし).関数名」の形式で指定する。ファイル名が image_processor.py で関数名が resize_handler であるため、正しいハンドラ設定は image_processor.resize_handler となる。選択肢Aは順序が逆であり、Lambdaが認識できない。選択肢Cは新規作成時のデフォルト値(lambda_function.handler)であり、今回のコードには対応しない。選択肢Bはスラッシュ区切りでありLambdaの構文として無効である。ハンドラの命名はデプロイ時の最初の落とし穴になるため、ファイル名・関数名の両方が一致していることを確認する必要がある。