在播放了一些小测试文件后,我想上传一个更大的文件,大约 200 MB,但我总是遇到超时异常,然后我尝试上传一个 30 MB 的文件,同样的情况发生了。我认为超时是30秒,可以告诉冰川客户端等到上传完成吗?
这是我使用的代码:
$glacier->uploadArchive(array(
'vaultName' => $vaultName,
'archiveDescription' => $desc
'body' => $body
));
我用其他文件测试过,同样的情况,然后我尝试了一个4MB的小文件,操作成功,我以为分割文件并一个一个上传,然后又在第三个左右出现超时异常出去。
我还尝试使用以下代码进行多重上传
$glacier = GlacierClient::factory(array(
'key' => 'key',
'secret' => 'secret',
'region' => Region::US_WEST_2
));
$multiupload = $glacier->initiateMultipartUpload(array(
'vaultName' => 'vaultName',
'partSize' => '4194304'
));
// An array for the suffixes of the tar file
foreach($suffixes as $suffix){
$contents = file_get_contents('file.tar.gz'.$suffix);
$glacier->uploadMultipartPart(array(
'vaultName' => 'vaultName',
'uploadId' => $multiupload->get('uploadId'),
'body' => $contents
));
}
$result=$glacier->completeMultipartUpload(array(
'vaultName' => 'vaultName',
'uploadId' => $multiupload->get('uploadId'),
));
echo $result->get('archiveId');
它错过了参数范围,我不认为我完全理解这个多部分上传是如何工作的,但我认为我会遇到同样的超时异常。所以我的问题就像我之前所说的那样。可以告诉冰川客户端等到上传完成吗?