Используя Python Boto3 AWS Lambda, S3 Key LastModified возвращает два типа для двух разных способов. - PullRequest
0 голосов
/ 22 апреля 2019

LastModified данного ключа возвращается в двух разных форматах.

Если я сохраняю переменную или печатаю напрямую, он дает мне этот формат:

2019-04-17 11:14:11+00:00

И

Если я попытаюсь сохранить его как значение в диктовке, а затем напечатать его, он отобразится в следующем формате:

{'redshift_data_source/grid/load.csv': datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal())}

Почему такая разница в форматах?

Во-вторыхМоя цель - сохранить LastModified в файле и каждый день проверять, изменилось ли LastModified файла или нет.Как я могу сделать это, не загружая .zip дополнительных библиотек?

Я хочу что-то вроде этого (где a должно исходить из файла, в котором я храню метаданные, а b должно быть прочитано метаданными последнего файла:

a = datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal()) # yesterday
b = datetime.datetime(2019, 4, 18, 05, 53, 19, tzinfo=tzlocal()) # today

print(a < b) # True

1 Ответ

0 голосов
/ 22 апреля 2019

Решил, используя строковое значение, полученное из метаданных:

str(datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal()))

Приведенная выше строка дала мне:

2019-04-17 11:14:11+00:00

А затем для сравнения мне пришлось лишить последнюю часть, поскольку она не вписывается ни в один стандартный формат даты, поэтому я сделал:

old = datetime.datetime.strptime(tables_dict[objects["Contents"][0]["Key"]][:19], '%Y-%m-%d %H:%M:%S')

А затем проведите мое сравнение, чтобы продолжить с логикой.

...