いくつかの小さなテストファイルのアップロードを少し再生した後、約200 MBの大きなファイルをアップロードしたかったのですが、常にタイムアウト例外が発生し、30MBのファイルをアップロードしようとしました。同じことが起こります。タイムアウトは30秒だと思いますが、アップロードが完了するまで氷河クライアントに待機するように指示することは可能ですか?
これは私が使用するコードです:
$glacier->uploadArchive(array(
            'vaultName'          => $vaultName,
            'archiveDescription' => $desc
            'body'               => $body
        ));
他のファイルでテストしたところ、同じことが起こりました。4MBの小さなファイルで試してみたところ、操作は成功しました。ファイルを1つずつ分割してアップロードすると、3番目のファイルの前後でタイムアウト例外が発生すると思いました。アウト。
次のコードでマルチアップロードも試しました
$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');
パラメータ範囲が欠落しています。このマルチパートアップロードがどのように機能するかを完全には理解していないと思いますが、同じタイムアウト例外が発生すると思います。だから私の質問は私が前に言ったようです。アップロードが完了するまで待つように氷河クライアントに指示することは可能ですか?