【问题标题】:AWS S3: How to set maximum number of retries in C++?AWS S3:如何在 C++ 中设置最大重试次数?
【发布时间】:2017-07-26 12:47:42
【问题描述】:

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

谢谢

【问题讨论】:

    标签: c++ amazon-web-services amazon-s3 sdk


    【解决方案1】:
    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
    
    

    【讨论】:

      【解决方案2】:

      找到答案:

      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
      

      【讨论】:

      • 问题,第 2 行中的范围变量是什么,客户端配置在哪里使用?我正在尝试实现这一点,但我对 C++ 不是很熟悉
      猜你喜欢
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2014-06-03
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多