我在我的水桶上启用了“转移加速”。但我没有看到我的C ++应用程序中的上传速度有任何改进。我等待了AWS文档中提到的超过20分钟。
默认情况下SDK是否支持“传输加速”,还是有运行时标志或编译器标志?我没有在SDK代码中发现任何内容。
感谢
答案 0 :(得分:1)
目前,还没有一个配置选项可以简单地打开传输加速。但是,您可以在客户端配置中使用端点覆盖来设置加速端点。
答案 1 :(得分:0)
我为实现(工作)传输加速所做的工作:
设置为已启用。
向我在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";
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}})