Copy & Paste Engineer

【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))

参考