AWS Lambdaが実行されていない?
事象と経緯
原因
タイムアウトの設定値は初期値の3秒になっていたが、Pythonを3.8から3.12に変更したことで3秒以上かかるようになったようだ。
対応
Lambda関数の設定でタイムアウト値を3秒から10秒に変更。
テスト実行により正常動作を確認。
「AWS請求額LINE通知(/aws/lambda/awscost_to_line)」と同様に「買い物予報LINE通知(/aws/lambda/KY1_to_line)」についてもタイムアウト値を10秒に変更した。
メモなど
エラーの確認
関数>モニタリング>CloudWatchログを表示 から実行時のログを確認したところ以下のメッセージがあった。
INIT_REPORT Init Duration: 3006.44 ms Phase: invoke Status: timeout
Phase: invokeは実行時に発生していることを示す。
Status: timeoutはエラーの内容
タイムアウト値の変更
関数>設定>一般設定 からタイムアウトの値を「0分3秒」から「0分10秒」に変更
実際の実行時間
AWS請求額LINE通知(/aws/lambda/awscost_to_line)
Python 3.8 :2890ms(2.9秒)
Python 3.12:4222ms(4.2秒)
買い物予報LINE通知(/aws/lambda/KY1_to_line)
Python 3.8 :2810ms(2.8秒)
Python 3.12:3590ms(3.6秒)
参考
上記は初期化フェーズで発生したタイムアウトについて取り扱っているが、実行フェーズのタイムアウトの事が書かれている。