AWS Lambdaでタイムアウトを発生させてみる
AWS Lambdaで関数実行中にタイムアウトするとどうなるのか見たことが無かったのでためしにやってみました。
Lambdaで空の関数を作成し、ランタイムにPython3.6を選択したときに作成されるコードをsleepで10秒止めてみます。
import time def lambda_handler(event, context): time.sleep(10) return 'Hello from Lambda'
テスト実行するだけなのでLambdaの設定はデフォルトのままにしました。 タイムアウトの時間はデフォルトで3秒なので、関数がsleepで止まっている間にLambdaが処理を終了させるはずです。
テストしてみたところ実行結果にタイムアウトのエラーメッセージが出力されました。
{ "errorMessage": "2017-09-05T02:03:28.155Z xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Task timed out after 3.00 seconds" }
ついでなので、CloudWatchのアラームでLambdaの実行エラー時にSNSが送信されるように設定*1しました。
アラーム作成後にLambda関数をテスト実行すると、アラームの状態がデータ不足からアラームに変わります。
同時に、アクションに設定していたSNSトピックの送信先メールアドレスにメッセージが送信されます。
Amazon Web Services実践入門 (WEB+DB PRESS plus)
- 作者: 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章
- 出版社/メーカー: 技術評論社
- 発売日: 2015/11/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
AWSエキスパート養成読本[Amazon Web Servicesに最適化されたアーキテクチャを手に入れる! ] (Software Design plus)
- 作者: 吉田真吾,今井智明,大瀧隆太,松井基勝,冨永善視,藤原吉規,大栗宗
- 出版社/メーカー: 技術評論社
- 発売日: 2016/02/26
- メディア: 大型本
- この商品を含むブログを見る