2

我正在使用 Amazon AWS SDK for PHP(即版本 2.7.16)将文件上传到 S3 存储桶。如何为 http/tcp 操作(连接、上传等)设置超时?虽然我用谷歌搜索了很多,但我无法找出方法。

我正在使用的示例代码:

$awsS3Client = Aws\S3\S3Client::factory(array(
        'key' => '...',
        'secret' => '...'
    ));

$awsS3Client->putObject(array(
            'Bucket' => '...',
            'Key'    => 'destin/ation.file',
            'ACL'    => 'private',
            'Body'   => 'content'
        ));

所以我想设置putObject()通话超时。

谢谢!

4

2 回答 2

7

最终我帮助了自己:

$awsS3Client = Aws\S3\S3Client::factory(array(
        'key' => '...',
        'secret' => '...'
        'curl.options' => array(
            CURLOPT_CONNECTTIMEOUT => 5,
            CURLOPT_TIMEOUT => 10,
        )
    ));

看起来 AWS PHP 在内部使用 curl,所以网络相关的选项是这样设置的。

于 2016-07-14T21:04:47.350 回答
1

对于SDK 版本 3,这可以使用http配置密钥进行配置。

$awsS3Client = Aws\S3\S3Client([
        'key' => '...',
        'secret' => '...',
        'http' => [
            connect_timeout => 5,
            timeout => 10,
        ]
    ]);
于 2021-08-06T14:12:23.030 回答