C++ AWS S3:如何在C+中设置最大重试次数+;?

C++ AWS S3:如何在C+中设置最大重试次数+;?,c++,amazon-web-services,amazon-s3,sdk,C++,Amazon Web Services,Amazon S3,Sdk,我有一个典型的S3上传示例,它工作得很好。我决定限制重试次数,因为有时由于网络问题,延迟会导致问题。我查看了AWS SDK,显然可以为客户端配置设置MaxErrorRetry选项。然而,这似乎不是C++中的一个选项。相反,我发现了一个RetryStrategy函数,但我不知道如何使用它。我需要做的就是为重试次数设置一个数字,而不是默认值。有什么建议吗 谢谢找到了答案: std::shared_ptr<Aws::Client::RetryStrategy> retry; // init

我有一个典型的S3上传示例,它工作得很好。我决定限制重试次数,因为有时由于网络问题,延迟会导致问题。我查看了AWS SDK,显然可以为客户端配置设置MaxErrorRetry选项。然而,这似乎不是C++中的一个选项。相反,我发现了一个RetryStrategy函数,但我不知道如何使用它。我需要做的就是为重试次数设置一个数字,而不是默认值。有什么建议吗

谢谢

找到了答案:

std::shared_ptr<Aws::Client::RetryStrategy> retry; // initialise retry strategy 
retry.reset(new Aws::Client::DefaultRetryStrategy(num_of_retries, scope));//override default by creating an instance of DefaultRetryStrategy
client_config.retryStrategy = retry; // assign to client_config
std::共享\u ptr重试;//初始化重试策略
reset(新的Aws::Client::DefaultRetryStrategy(重试次数,范围))//通过创建DefaultRetryStrategy的实例来覆盖默认值
client_config.retryStrategy=retry;//分配给客户端配置
long maxRetry=2;
长范围=2;
std::shared_ptr retryStrategy=std::make_shared(maxRetry,scope);//具有自定义最大重试次数的策略
Aws::Client::ClientConfiguration clientConfig;
clientConfig.retryStrategy=retryStrategy;//将其分配给客户端配置
Aws::S3::S3客户端S3客户端(客户端配置);//使用您的配置创建S3客户端

问题,第2行中的作用域变量是什么,在哪里使用客户端配置?我正在尝试实现这个,但是我对C++不太熟悉
long maxRetry = 2;                                                                      
long scope = 2;
std::shared_ptr<Aws::Client::DefaultRetryStrategy> retryStrategy = std::make_shared<Aws::Client::DefaultRetryStrategy>(maxRetry,scope); // strategy with custom max retries

Aws::Client::ClientConfiguration clientConfig;
clientConfig.retryStrategy = retryStrategy; // assign it to Client configuration

Aws::S3::S3Client s3Client(clientConfig); // create S3 client with your configuration