【问题标题】:Force AWS Lambda to use UTC when listing S3 objects using boto3在使用 boto3 列出 S3 对象时强制 AWS Lambda 使用 UTC
【发布时间】:2019-01-24 19:08:47
【问题描述】:

当使用 Python 3.6 和 boto3 在 AWS Lambda 上检索对象列表时,对象的 LastModified 属性正在使用 'LastModified': datetime.datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzlocal())

当我在本地运行我的程序时,这个属性使用'LastModified': datetime.datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzutc()),这正是我想要的。

为什么会这样?是否有一种解决方法可以让我将 UTC 指定为请求的一部分?或者,有没有一种简单的方法可以将这些 datetimes 从 S3 返回后转换为 UTC?

【问题讨论】:

  • 有趣...在 Amazon Linux 2 上返回为 tzinfo=tzlocal(),但在 Amazon Linux (v1) 上返回为 tzinfo=tzutc()

标签: python-3.x aws-lambda boto3


【解决方案1】:

运行此代码:

from datetime import datetime
from dateutil import tz
from dateutil.tz import tzlocal

d_local = datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzlocal())

d_utc = d_local.astimezone(tz.tzutc())

结果是d_utc是:

datetime.datetime(2018, 8, 16, 15, 51, 31, tzinfo=tzutc())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 2019-08-03
    • 2021-07-23
    相关资源
    最近更新 更多