DynamodB Nodejs / Lambda Date.now () - PullRequest
       23

DynamodB Nodejs / Lambda Date.now ()

0 голосов
/ 30 сентября 2019

Я пытаюсь реализовать TTL (время жизни) в DynamodB и получаю неожиданные результаты со временем.

моя лямбда-функция (nodejs10.x), которая заполняет эту базу данных, использует следующий код дляcreated_on и code_expiration поля:

  const created_on = Date.now()
  const code_expiration = created_on + (process.env.EXPIRY_MINUTES * 60 * 1000)

в переменных лямбды моего окружения. У меня EXPIRY_MINUTES установлено 2880

, глядя на https://www.epochconverter.com/ Я получаю следующие значениядля моего времени эпохи:

created_on: 1569822339715
GMT: Monday, September 30, 2019 5:45:39.715 AM
Your time zone: Monday, September 30, 2019 1:45:39.715 AM GMT-04:00 DST
Relative: 9 minutes ago

code_expiration: 1569995139715
GMT: Wednesday, October 2, 2019 5:45:39.715 AM
Your time zone: Wednesday, October 2, 2019 1:45:39.715 AM GMT-04:00 DST
Relative: In 2 days

Я - куроус, почему, когда я наводю указатель мыши на запись в Dynamodb, она показывает, что это будет датой 50 тысяч лет в будущем? enter image description here

Нужно ли по-другому фиксировать время эпохи?
Если я справлюсь правильно, будет ли служба TTL читать это как 02/10/2019 или 02/03/51721?

1 Ответ

1 голос
/ 30 сентября 2019
  const created_on = Math.floor(new Date().getTime() / 1000.0)
  const code_expiration = created_on + (process.env.EXPIRY_MINUTES * 60)

Не преобразовывать в миллисекунды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...