Ошибка S3: разница между временем запроса и текущим временем слишком велика
У меня ошибка разница между временем запроса и текущим временем слишком велика при вызове метода amazons3.ListObjects
ListObjectsRequest request = new ListObjectsRequest() {
BucketName = BucketName, Prefix = fullKey
};
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
bool result = response.S3Objects.Count > 0;
return result;
}
что это может быть?
15 ответов
время на вашем локальном поле не синхронизировано с текущим временем. Синхронизировать ваши системные часы и проблема исчезнет.
часы не синхронизированы.
я следовал шагам в этот пост чтобы заставить его работать снова, но также пришлось выполнить следующую команду.
sudo ntpdate ntp.ubuntu.com
sudo apt-get install ntp
Если в любое время вы получите сообщение о том, что сокет NTP все еще используется, остановите его с помощью sudo /etc/init.d/ntp stop
и повторите команду.
У меня была такая же ошибка, и я использую Docker для Mac. Просто перезапуск Docker работал для меня.
в случае, если кто-нибудь найдет это с помощью Laravel и Homestead, просто работает
homestead halt
следовал по
homestead up
и вы хорошо идти снова.
для тех, кто использует Docker в Windows, попробуйте перезапустить Docker Engine в Setting - >Reset - >Restart Docker.
это правильно сбросить мои системные часы на OSX. S3 загрузки с помощью JS SDK теперь работает для меня в local dev
ntpdate us.pool.ntp.org
чтобы избавиться от этой проблемы, вам нужно настроить время клиента так, чтобы была максимальная разница во времени до 15 минут. Также установлено стандартное время и зону для вашей системы.
Если вы используете virtualbox, время в виртуальной машине синхронизируется со временем реальной машины. Просто зафиксируйте время в виртуальной машине, это не исправит проблему.
Если вы получите эту ошибку в windows выполните следующие действия, чтобы решить вашу проблему.. Изменение настройки местного времени: Шаг 1: нажмите на Изменить настройки даты и времени Шаг 2: из всплывающего окна даты и времени нажмите на Время Интернета Шаг 3: далее нажмите на кнопку Изменение Параметров Шаг 4: из выпадающего списка сервера выберите time-nw.nist.gov Шаг 5: нажмите на OK
перезагрузите консоль и проверьте. Это работает...
использование ntp может не работать на всех версиях вашего сервера на базе Linux (например, устаревшая версия сервера Ubuntu, которая больше не поддерживается, которая будет блокировать загрузку ntp, если она еще не установлена).
Если это ваша ситуация, вы можете установить независимые часовые пояса для вашей виртуальной машины Linux: https://community.rackspace.com/products/f/25/t/650
после этого Вам может потребоваться сбросить время / дату. Инструкции находятся в эта статья: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line
Это также может быть вызвано использованием async / await с построением объекта запроса вне задачи и фактическим вызовом AWS внутри задачи. Если выполняется много задач, и задача не запланирована вовремя, или есть какая-то другая операция, задерживающая фактический вызов AWS, это исключение может быть вызвано.
Если u в 2016 году и в Стамбуле вот странная ситуация, что Турция решила не переключаться на стандарты зимнего времени в любом случае установить местный часовой пояс в Москву, то перезагрузите машину.
я столкнулся с этой проблемой, запустив Jet (Codeship) и Terraform на MacOS, используя Docker для Mac Beta channel 1.13.1-beta42.
Failed to read state: Error reloading remote state: RequestTimeTooSkewed: The difference between the request time and the current time is too large.
status code: 403, request id: 9D32BA2A5360FC18
Это было решено путем перезапуска Docker.
как уже говорили другие, ваши локальные часы не синхронизированы с AWS. вы можете синхронизировать его с серверами Amazon напрямую используя NTP так что вам не придется беспокоиться о дрейфе часов сейчас или в будущем.
Примечание: приведенные ниже инструкции предназначены для пользователей *nix. Я добавил комментарий о том, как вы можете это сделать в Windows, но как пользователь не Windows, я не могу проверить их точность.
чтобы установить NTP, просто выберите один из следующих вариантов, в зависимости от вашего дистрибутива:
apt-get install ntp
или
yum install ntp
etc.
настройка NTP для использования серверов amazon, например:
vim /etc/ntp.conf
и в нем прокомментируйте серверы по умолчанию и добавьте их:
server 0.amazon.pool.ntp.org iburst server 1.amazon.pool.ntp.org iburst server 2.amazon.pool.ntp.org iburst server 3.amazon.pool.ntp.org iburst
источник: https://www.allcloud.io/how-to/how-to-fix-amazon-s3-requesttimetooskewed/
и более общая статья о сохранении синхронизации вашего времени с NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04