今回のお題
CloudWatchで定期的にLambdaを実行して、Slackにメッセージを送信する
こちらで、LambdaでSlack送信をしたんですが、その際にdatetime.now()を使用して、現在時間をメッセージに送信するLambda関数を作って見ました。
しかし、表示される時間がUTC基準でして、9時間前の時間が表示されたので、これをどうにかしないとなと思いました。
方法
Lambdaも実際はAmazon Linuxでの実行であるならば、確か環境変数にタイムゾーンなかったっけ?と思い、Linuxの環境変数についてグーグル検索。
検索ワード:[Linux タイムゾーン 環境変数]
はい、でました。こちらを参考にしました。
【設定確認から変更方法まで】Linuxでのタイムゾーンの扱い方
TZに対して、Asia/Tokyoを設定すればいいようですね。
なので、
これでいけるのではないでしょうか?
Lambdaの実行処理は、上記の記事のままです。
早速テスト実行しました。
#大成功です
Slackに出ている時間と、メッセージで出ている時間が一致してますね。
これでLambdaの時間処理は問題なさそうです。
次は、CloudWatchのタイムゾーン変更について調べます...