【AWS Lambda Python】pytzが使えない対応方法
【AWS Lambda Python】pytzが使えない対応方法
AWS Lambda上で pytz を利用することが出来ません。
対応方法メモ。
失敗例
pytz を使用すると AWS Lambda 上で失敗します。
from datetime import datetime
import pytz
def lambda_handler(event, context):
# フォーマット
date_format='%Y/%m/%d %H:%M:%S %Z'
# タイムゾーン設定
date = datetime.now(tz=pytz.timezone('Asia/Tokyo'))
# 表示
print('Japan DateTime is :', date.strftime(date_format))
Response:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'pytz'",
"errorType": "Runtime.ImportModuleError"
}
対応方法
dateutil を使用するように修正します。
from datetime import datetime
from dateutil import tz
def lambda_handler(event, context):
# フォーマット
date_format='%Y/%m/%d %H:%M:%S %Z'
# タイムゾーン
time_zone = tz.gettz('Asia/Tokyo')
# 日付
date = datetime.now(tz=time_zone)
# 表示
print('Japan DateTime is :', date.strftime(date_format))