AWS LastModified S3 Bucket разные - PullRequest
       0

AWS LastModified S3 Bucket разные

0 голосов
/ 09 ноября 2018

Я разрабатываю функцию node.js, которая перечисляет объекты в S3 Bucket с помощью вызова listObjectsV2. В возвращенных результатах json дата не совпадает с датой, показанной в корзине S3 или в списке aws cli s3. На самом деле они разные дни. Я не уверен, как это происходит?

Есть мысли?

aws cli ls
aws s3 ls s3: // mybucket
2018-11-08 19:38:55 24294 Thought1.mp3

S3 Страница на AWS

enter image description here

Результаты JSON

enter image description here

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Это одинаковые времена, но в разных часовых поясах.

Ответ listObjectsV2 дает вам время зулусов (UTC или время по Гринвичу), которое, по-видимому, опережает вас на 6 часов.

0 голосов
/ 09 ноября 2018

На снимке в формате JSON 2018-11-09T01: 38: 55.000Z - это время ZULU (Z в самом конце). Это означает время UTC / GMT.

На изображении консоли S3 у вас 8 ноября 2018 г. 19:38:55 GMT-0600 - это время по Гринвичу минус 6 часов (см. В конце GMT-0600) - что может быть временем по американскому EST или похожие. Разница между этими двумя составляет ровно 6 часов.

Вывод из aws CLI, вероятно, находится на вашем локальном компьютере и показывает местное время в формате 24H без часового пояса, поэтому его сложнее понять, но он соответствует времени консоли S3.

Обычно AWS возвращает время в часовом поясе UTC. Это обычно очень полезно, когда вы начинаете развертывание в нескольких часовых поясах. С другой стороны, это может стать сложным, если вы, например, запустите свой код на экземпляре EC2, где настроен другой часовой пояс. Поэтому будьте осторожны при переходе с вашего местного времени на время UTC - я бы посоветовал вам даже использовать какую-нибудь библиотеку, например https://momentjs.com/, иначе вы можете создать себе больше проблем.

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