AWS DynamoDB | Может ли DynamoDB установить отметку времени на стороне сервера?

Я использую AWS DynamoDB в качестве базы данных для приложения.

Вопрос. Может ли DynamoDB создавать временные метки на стороне сервера?

Пример:

    let db = new AWS.DynamoDB.DocumentClient()
    db.put({
      TableName: 'foo-table',
      Item: {
        uuid: 'very unique uuid',
        timestamp: new Date().getTime() //I want DynamoDB to set this timestamp
                               }
      }, (err, data) => {//left out});

Как вы можете видеть в примере, клиент устанавливает метку времени с помощью new Date().getTime().

Это проблематично, так как Date использует время ОС и, таким образом, открыт для манипуляций (или разных часовых поясов).


person Vingtoft    schedule 07.01.2019    source источник
comment
Не то чтобы я в курсе. Если вы не доверяете клиенту, ваш код может получить текущее время из внешнего надежного источника времени. И напишите это как ISO8601 или время эпохи, а не местный часовой пояс.   -  person jarmod    schedule 08.01.2019


Ответы (1)


Если вы не доверяете клиенту устанавливать метку времени, включите потоки DynamoDB. У вас может быть лямбда-триггер от этого потока DyanmoDB, который должен позволить вам иметь приблизительную метку времени, которой вы можете доверять. Пусть ваша лямбда обновит запись с измененной отметкой времени.

person Murtnowski    schedule 16.08.2019