Как установить таймауты http для Amazon AWS SDK для PHP
Я использую Amazon AWS SDK для 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()
вызов.
Спасибо!
2 ответа
Решение
В конце концов я помог себе:
$awsS3Client = Aws\S3\S3Client::factory(array(
'key' => '...',
'secret' => '...'
'curl.options' => array(
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 10,
)
));
Похоже, AWS PHP использует curl для внутреннего использования, поэтому параметры, связанные с сетью, устанавливаются таким образом.
В SDK версии 3 это можно настроить с помощью
http
конфигурационный ключ .
$awsS3Client = Aws\S3\S3Client([
'key' => '...',
'secret' => '...',
'http' => [
connect_timeout => 5,
timeout => 10,
]
]);