AWS Lambda의 시간대 변경(코드의 변경 내용은 반영되지 않음)
람다의 시간대
AWS Lambda에서는 도쿄(ap-northeast-1) 리전에서도 타임존은 UTC가 됩니다.
시간대와 시간을 표시하는 예
import datetime
import os
def lambda_handler(event, context):
now_dt = datetime.datetime.now()
print("TZ: {}".format(os.environ['TZ']))
print("now: {}".format(now_dt))
print("now_timestamp: {}".format(now_dt.timestamp()))
return 'Hello from Lambda'
TZ: :UTC
now: 2018-10-19 14:13:02.141871
now_timestamp: 1539958382.141871
시간대 변경 방법
Lambda 함수 설정에서 "환경 변수"에서 변경할 수 있습니다.
키에
TZ
, 값에 Asia/Tokyo
를 입력합니다.동일한 스크립트를 실행하면 다음과 같이 시간대 변경 사항이 반영됩니다.
TZ: Asia/Tokyo
now: 2018-10-19 23:13:46.994964
now_timestamp: 1539958426.994964
코드에서 TZ 환경 변수를 변경해도 변경 사항은 반영되지 않습니다.
'환경 변수'로 Python
os.environ
를 다시 작성해 보았지만 시간대 변경이 반영되지 않았습니다.Lambda 함수의 「환경 변수」의 설정을 잊었을 때의 대책으로서 다른 방법을 생각하는 것이 좋을 것입니다.
코드 내에서 시간대 변경이 반영되지 않음
import datetime
import os
def lambda_handler(event, context):
default_tz = 'Asia/Tokyo'
if os.getenv('TZ', '') != default_tz:
os.environ['TZ'] = default_tz
now_dt = datetime.datetime.now()
print("TZ: {}".format(os.environ['TZ']))
print("now: {}".format(now_dt))
print("now_timestamp: {}".format(now_dt.timestamp()))
return 'Hello from Lambda'
실행 결과를 보면 TZ만이 "Asia/Tokyo"로 되어 있습니다.
TZ: Asia/Tokyo
now: 2018-10-19 14:15:45.675777
now_timestamp: 1539958545.675777
참고
AWS Lambda 시간대 변경 - Qiita
htps : // 코 m / 누치 앙 / ms / 39에 cf1f6d0194b72에 8에 6
Python에서 환경 변수 검색 및 추가 | TM Life
ht tp // tm ぃふぇ. 네 t/p로g 라민 g/py 텐/py 텐-엔ゔぃロン. HTML
16.1. os — 잡다한 운영 체제 인터페이스 — Python 3.6.4 문서
htps : // / cs. py 응. jp/3/ぃb 등 ry/오. HTML # 오. 푸텐 v
Reference
이 문제에 관하여(AWS Lambda의 시간대 변경(코드의 변경 내용은 반영되지 않음)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ysd_marrrr/items/ba3753899b4edabca998텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)