AWS CPP S3 SDK是否支持“传输加速”

时间:2017-05-18 17:34:13

标签: aws-sdk-cpp

我在我的水桶上启用了“转移加速”。但我没有看到我的C ++应用程序中的上传速度有任何改进。我等待了AWS文档中提到的超过20分钟。

默认情况下SDK是否支持“传输加速”,还是有运行时标志或编译器标志?我没有在SDK代码中发现任何内容。

感谢

2 个答案:

答案 0 :(得分:1)

目前,还没有一个配置选项可以简单地打开传输加速。但是,您可以在客户端配置中使用端点覆盖来设置加速端点。

答案 1 :(得分:0)

我为实现(工作)传输加速所做的工作:

    在AWS面板“传输加速”上的存储桶配置中,
  • 设置为已启用

  • 向我在C ++应用程序中使用的IAM用户添加权限 s3 :: PutAccelerateConfiguration

  • 将以下代码添加到s3传输配置中(bucket_是您的存储桶名称,最终URL必须与AWS面板“ Transfer Acceleration”中显示的URL匹配):

    Aws::Client::ClientConfiguration config;
    /* other configuration options */
    config.endpointOverride = bucket_ + ".s3-accelerate.amazonaws.com";
  • 在传输前向存储桶询问加速...(here中的文档)
    auto s3Client = Aws::MakeShared<Aws::S3::S3Client>("Uploader",
            Aws::Auth::AWSCredentials(id_, key_), config);
    Aws::S3::Model::PutBucketAccelerateConfigurationRequest bucket_accel;
    bucket_accel.SetAccelerateConfiguration( 
        Aws::S3::Model::AccelerateConfiguration().WithStatus(
        Aws::S3::Model::BucketAccelerateStatus::Enabled));
    bucket_accel.SetBucket(bucket_);
    s3Client->PutBucketAccelerateConfiguration(bucket_accel);

您可以在AWS sdk的详细日志中查看您的代码正在使用加速入口点,还可以检查在转移开始之前是否有 /?accelerate ({{ 3}})

相关问题