我正在使用
aws s3 sync~ / folder / s3:// --delete
将大量文件上传(并同步)到S3存储桶。一些 - 但不是全部 - 文件失败,抛出此错误消息:
上传失败:到s3:// bucketname / folder / 调用UploadPart操作时发生客户端错误(RequestTimeTooSkewed):请求时间和当前时间之间的差异太大
我知道这个错误的原因通常是与Internet时间不同步的本地时间,但是我正在运行NTP(在我的Ubuntu PC上)并且日期/时间看起来绝对准确 - 而且这个错误只有到目前为止,我上传的四十多个文件中约有15个被报道过。 有些文件相对较大 - 每个文件大约70MB - 而且我的上传速度并不理想:S3可能会比较初始和完成时间并将其差异报告为错误吗? 谢谢,
答案 0 :(得分:15)
时间验证发生在您上传到S3的开始时,所以它不会对上传时间太长的文件造成影响。
尝试将您的系统时间与S3报告的内容进行比较,看看是否有任何不必要的时间偏差,只是为了确保:
# Time from Amazon
$ curl http://s3.amazonaws.com -v
# Time on your local machine
$ date -u
(以UTC格式返回时间)
答案 1 :(得分:8)
我在MacBook Pro上的docker容器内运行aws s3 cp
并出现此错误。重启Docker for Mac修复了这个问题。
答案 2 :(得分:1)
现在看来,分段上传在aws s3上失败了。使用s3cmd可以很好地工作。
答案 3 :(得分:0)
您必须在计算机上同步当地时间。时间已经超出了世界时间。
答案 4 :(得分:0)
Amazon S3使用NTP作为系统时钟,以与您的时钟同步。 运行
sudo apt-get install ntp
然后打开/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
然后运行
service ntp restart
答案 5 :(得分:0)
我在MacOS上遇到问题。 我修好了 首选项->日期和时间->选中“自动设置日期和时间”框