2014-11-13 206 views
0

我與Amazon S3AWS SDK for PHP工作。上傳文件是否有文件大小限制?是否存在同步文件上傳限制?上傳到AWS S3限制

它給了我很多的這些錯誤,當我嘗試一次發送20個文件有200MB我鬥:

RequestTimeTooSkewedException:AWS錯誤代碼:RequestTimeTooSkewed, 狀態代碼:403,AWS請求ID:0CE24AEDE4162AC9,AWS錯誤類型: 客戶端,AWS錯誤消息:請求時間與 之間的差值當前時間過大。

RequestTimeoutException:AWS錯誤代碼:將requestTimeout,狀態代碼: 400,AWS請求ID:913367E51F2BC5AD,AWS錯誤類型:客戶,AWS 錯誤消息:套接字連接到服務器並沒有從 讀取或寫入內超時期限。空閒連接將關閉 。

或者問題是在我的代碼或PHP?

回答

1

看起來你的網絡連接可能不夠快,無法上傳一個鏡頭大小的文件。 RequestTimeTooSkewedException由於helloV提到的不同步時鐘,可能會發生錯誤。但是,如果上傳時間過長,請求籤名的時間和請求完成的時間可能會超過15分鐘,這也會導致此錯誤。我懷疑這可能會發生,因爲第二個錯誤RequestTimeoutException最有可能發生,因爲您與S3的連接速度太慢。

您也需要一個更好的連接,或者你應該考慮使用多上傳API。有助手此:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html#uploading-large-files-using-multipart-uploads

1

截至目前的大小限制爲5 TB,你的200MB距離最大尺寸很好。

問題是您的本地盒子的系統時鐘不同步。與NTP服務器同步或手動設置,問題將消失。

對於第二個錯誤,有可能你指定的文件大小比實際尺寸更大。如果您的文件大小爲200MB,則可能在API中傳遞的值大於200MB。

0

這是給這個錯誤?

<Error><Code>RequestTimeTooSkewed</Code><Message>The difference between the requ 
est time and the current time is too large.</Message><RequestTime>Wed, 08 Apr 20 
15 11:50:58 GMT</RequestTime><ServerTime>2015-04-07T11:51:03Z</ServerTime><MaxAl 
lowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds><RequestId>255BFB2CF336 
1F0D</RequestId><HostId>DlpwnpVVH9aQku8qD8sAaO6tFCBlrfr9P2Sl3jbBd7FKXbzsJ1SJAwqR 
OsNf+2qdSSKElK3mbus=</HostId></Error> 

錯誤的,你可以看到請求時間和服務器時間是不同的,它必須是相同的。所以請檢查您的本地電腦時間和日期。