【AWS Lambda Python】pytzが使えない対応方法
AWS Lambda上で pytz
を利用することが出来ません。
対応方法メモ。
失敗例
pytz
を使用すると AWS Lambda
上で失敗します。
1
2
3
4
5
6
7
8
9
10
11
| 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))
|
1
2
3
4
5
| Response:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'pytz'",
"errorType": "Runtime.ImportModuleError"
}
|
対応方法
dateutil
を使用するように修正します。
1
2
3
4
5
6
7
8
9
10
11
12
| 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))
|
参考