JavaScriptを有効にしてください

【AWS Lambda Python】pytzが使えない対応方法

 ·  ☕ 1 分で読めます

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

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer