🙆♀️
Lambdaでdatetimeを定義するとき
datetimeをglobalで定義してはいけない。
lambda_handler以下に定義
from datetime import datetime, timezone, timedelta
# このように定義するとlambdaのインスタンスの実行時間によって値が変わらない
now_jst = datetime.now(jst)
# 代わりにlambdaタイプをつける
now_jst = lambda: datetime.now(jst)
# UNIXタイムスタンプをミリ秒単位で取得
unix_timestamp_ms = int(now_jst.timestamp())
# JSTタイムゾーンを設定(UTC+9)
jst = timezone(timedelta(hours=+9))
def lambda_handler(event, context):
# もしくはhandlerの中で実行する
now_jst = datetime.now(jst)
return {
'current_timestamp': unix_timestamp_ms
}
Discussion