我正在使用AWS SDK V3 for PHP。有时当我调用AWS S3时,由于网络问题,我会收到400错误Bad Request RequestTimeout (client): Your socket connection to the server was not read from or written to within the timeout period
等错误,即使我正在尝试与之交互的对象存在。我需要做的是实现重试机制。我想知道我们是否可以使用AWS SDK中的选项来指定我们想要在错误后重试的次数。
我知道我可以通过简单的尝试捕获和重试来做到这一点,但我想可能是SDK已经提供了一种更清洁的方法来做到这一点。
我已经找到了静态函数Middleware::retry()
,但我不知道如何使用它。
答案 0 :(得分:0)
您可以在构建任何AWS服务客户端类的新实例时指定重试次数:
$client = new Aws\EC2\Ec2Client([
'region' => 'eu-central-1',
'retries' => 3
]);
https://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html#retries