2014-09-21 180 views
10

我使用AWS S3载失败:RequestTimeTooSkewed

AWS S3同步〜/文件夹/ S3:// --delete

上传(和同步)大量的文件的到S3存储桶。调用UploadPart操作时发生// bucketname /文件夹/ 客户端错误(RequestTimeTooSkewed):

上传失败:到S3的不同的文件失败,抛出此错误消息 - 一些 - 但不是全部请求时间和当前时间之间的过大

我知道这个错误的原因通常是本地时间是出与Internet时间同步的,但我跑NTP(我的Ubuntu PC上)日期/时间看起来绝对准确 - 而且这个错误在我上传的40多个文件中只有15个被报告。 某些文件相对较大 - 每个文件最多大约70MB - 我的上传速度并不奇怪:S3可能会比较初始和完成时间,并将其差异报告为错误吗? 谢谢,

+0

由于S3只使用Date(或x-amz-date)头来比较时间,并且不依赖上传完成时间,所以无论上传需要多长时间都没有关系。 – dcro 2014-09-22 05:57:26

回答

1

现在看来,多部分上传在aws s3上失败。使用s3cmd可以完美地工作。

11

时间验证发生在您上传到S3的开始,所以它不会处理上传文件花费太长时间。

试着用什么S3是报告比较系统的时间,看看是否有任何不必要的时间漂移​​,只是为了确保:

# Time from Amazon 
$ curl http://s3.amazonaws.com -v 

# Time on your local machine 
$ date -u 

(时间以UTC返回)

+0

谢谢。我只有两秒钟的时间......这就是一个接一个地运行这两个命令。 – dlanced 2014-09-23 12:16:32

0

你必须在你的机器上同步你当地的时间。时间不符合世界时间。

7

我在MacBook Pro的Docker容器中运行aws s3 cp,并得到这个错误。重新启动Docker for Mac解决了这个问题。